sql中update 语句与foreign key same table约束冲突是由于什么原因

分类:数据库| 发布:camnprbubuol| 查看: | 发表时间:2011/9/21
消息 547,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
DELETE 语句与 REFERENCE 约束"main_id_cons"冲突。该冲突发生于数据库"Stock",表"db
o.test_sub", column ’main_id’。
语句已终止。

产生这类信息的原因是,你创建了默认的外键约束。
默认的就是,为了保证数据的完整性,比如有父子关系的两表。
你必须先删除掉子表的数据,让父表的数据,没有子表数据的时候,才能删除。
目的是为了避免,子表中有太多的 孤儿数据。

如果想避免,可以加上 DELETE CASCADE / UPDATE CASCADE 之类的关键字。

DELETE CASCADE 意味着, 删除主表的数据时,联带着删除子表。
UPDATE CASCADE 意味着, 更新主表的主键数据时,联带着更新子表的外键数据。

友情关注:布布在线

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/436.html