有外鍵的情況應該先添加主表數據,再添加副表數據。
如:有以下兩張表
班級表:
CLASSID NAME
1 一班
2 二班
學生表:
SID NAME CLASSID
1 張三 1
2 李四 1
3 王五 2
其中學生表中的CLASSID是班級表CLASSID的外鍵。
現在要求在學生表中添加一條SID=4,NAME=趙六,CLASSID=3的數據,那么只能先在班級表中加入一條新數據。
insert into 班級表 values (3,'三班');
然后再在學生表中添加:
insert into 學生表 values (4,'趙六',3);
另外的方法
1、先主表插入數據,再表插入數據集
2、先禁用外鍵約束
ALTER TABLE 表名 NOCHECK CONSTRAINT 外鍵約束名
插入數據
再啟用約束
ALTER TABLE 表名 CHECK CONSTRAINT 外鍵約束名
主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。
外鍵用于與另一張表的關聯。是能確定另一張表記錄的字段,用于保持數據的一致性。比如,A表中的一個字段,是B表的主鍵,那他就可以是A表的外鍵。