簡體   English   中英

SQL:在外鍵引用不存在的外鍵列上添加默認約束

[英]SQL: add a default constraint on foreign key column where foreign key reference does not exist

如果我們嘗試在表中不存在該默認值的外鍵上添加默認值約束,會發生什么?

例子:

  • Table_PersonGender列作為外鍵
  • Table_Gender具有值為“1”和“2”的行

如果我在Table_Person for Gender列中使用默認值 = '3' 設置默認約束,會發生什么?

它會被創建還是拋出錯誤? 原因是什么?

這在很大程度上取決於您使用的具體數據庫系統 (RDBMS)。

對於SQL 服務器

  • 可以創建兩個表,包括Table_Person中的默認約束

  • 可以將行插入到Table_Person中,明確定義Gender的值為 1 或 2

  • 但是,您不能Table_Person中插入省略Gender值的行,因此會得到默認值 3 插入 - 因為這違反了 FK 約束

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM