有外键的情况应该先添加主表数据,再添加副表数据。

如:有以下两张表

班级表:

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表的外键。

Logo

更多推荐