这是我正在使用的某些表的示例。
create TABLE People(
peopleID int not null,
name varchar(40) not null,
primary key (peopleID)
);
create table car(
carID int not null,
peopleID int not null,
primary key (carID),
foreign key (peopleID) references People(peopleID)
);
如何确保在插入“汽车”时,“ peopleID”外键作为主键存在于“人”表中。
例如,我希望以下语句引发错误:
INSERT INTO car VALUES (123, 343);
...因为'PeopleID'中不存在343,因为它为空。
谢谢
最佳答案
这段评论有点长。
您已经描述了foreign key
约束的作用:
对于支持外键的存储引擎,MySQL拒绝任何INSERT
或UPDATE操作,尝试在其中创建外键值
如果子表中没有匹配的候选键值
父表。
该约束在here中描述。
关于mysql - 插入数据后,如何确保外键作为另一个表中的主键存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21046132/