SQL主鍵和外鍵的刪除規(guī)則說(shuō)明
SQL表中經(jīng)常包含外鍵關(guān)系,刪除一個(gè)表的數(shù)據(jù)就會(huì)影響其他的表,下面將為您介紹SQL主鍵和外鍵的刪除規(guī)則說(shuō)明,供您參考,希望對(duì)您有所幫助。
刪除規(guī)則和更新規(guī)則:
指定當(dāng)數(shù)據(jù)庫(kù)的最終用戶(hù)嘗試刪除或更新某一行,而該行包含外鍵關(guān)系所涉及的數(shù)據(jù)時(shí)所發(fā)生的情況。
如果設(shè)置為:
無(wú)操作:當(dāng)在刪除或更新主鍵表的數(shù)據(jù)時(shí),將顯示一條錯(cuò)誤信息,告知用戶(hù)不允許執(zhí)行該刪除或更新操作,刪除或更新操作將會(huì)被回滾。
層疊:刪除或更新包含外鍵關(guān)系中所涉及的數(shù)據(jù)的所有行。
說(shuō)明:“層疊”在SQL server 2000中又叫“級(jí)聯(lián)”。
設(shè)置空:這是SQL server 2005新增的功能。如果表的所有外鍵列都可以接受空值,則將該值設(shè)置為空。
說(shuō)明:要將外鍵的刪除規(guī)則和更新規(guī)則設(shè)為“設(shè)置空”,則該外鍵必須是可以為空的字段。
設(shè)置默認(rèn)值:這是SQL server 2005新增的功能。如果表的所有外鍵列都已定義了默認(rèn)值,則將該值設(shè)置為該列定義的默認(rèn)值。
說(shuō)明:要將外鍵的刪除規(guī)則和更新規(guī)則設(shè)置為“設(shè)置默認(rèn)值”,該外鍵必須是有默認(rèn)值的字段。
附加:
特地查看了一下SQL server 2000,在它的“關(guān)系”中也包括了如下功能: