码迷,mamicode.com
首页 > 其他好文 > 详细

外键对数据插入的影响

时间:2018-10-20 00:49:41      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:sql   column   demo   信息   opera   amount   必须   rom   等于   

外键是指向另一个表中已有数据的约束,因此外键值必须是在目标表中存在的。如果插入的数据在目标表中不存在的话则会导致违反外键约束异常。T_Debt 表中FPerson 字段是指向表T_Person的FName 字段的外键,如果我们执行下面SQL:


INSERT INTO T_Debt (FNumber,FAmount, FPerson) VALUES ("3",100, "Jerry")

由于在T_Person表中不存在FName 字段等于“Jerry”的数据行,所以会数据库系统会报出类似如下的错误信息:

INSERT 语句与FOREIGN KEY约束"FKT_DebtFPerson__1A14E395"冲突。该冲突发生于数据库"demo",表"dbo.T_Person", column "FName"。

而如果我们为FPerson字段设置已经在T_Person表中存在的FName 字段值的话则会插入成功,执行下面的SQL:


INSERT INTO T_Debt (FNumber,FAmount, FPerson) VALUES ("3",100, "Tom")

此句SQL则可以正常的执行成功。执行SELECT * FROM T_Debt来查看表中的数据:

可以看到数据已经被正确的插入到表中了。

外键对数据插入的影响

标签:sql   column   demo   信息   opera   amount   必须   rom   等于   

原文地址:https://www.cnblogs.com/yuyu666/p/9819987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!