我的数据库中有两个表,t1表的主键是uid,t2表是外键名称desg。现在我想删除或更新一个表中的这个uid给出错误
现在行已更新。行中的数据 没有承诺。错误 source:.netSqlclient数据提供程序。 错误消息:更新语句 与参考文献冲突 约束fk_t2_t1.发生冲突 在数据库DBname,dbo.t2,列中 DESG。这个场景一直都是 终止。
当我尝试删除时,会显示此消息。
执行SQl语句:从t1删除 其中uid ='abc'
错误来源:.netSqlclient数据 供应商。错误消息:删除 声明与之相冲突 参考约束fk_t2_t1.the 数据库DBname中发生冲突, dbo.t2,列desg。这个场景有 已被终止。
请告诉我如何进行此更新和删除。
我是这个领域的新手需要帮助,谢谢你的进步。
答案 0 :(得分:2)
首先删除t2 table a foreign key
,然后删除t1 table primary key is uid
。这将不起作用
答案 1 :(得分:2)
表t2中有一个或多个子记录,它们指向要删除的表t1中的主记录。在t1中删除记录之前,必须删除t2中的子记录。
例如:
(1)从t2删除*,其中t2.desg = t1.uid;
(2)从t1删除*,其中t1.uid = UID_TO_BE_REMOVED;
我建议阅读有关创建表和执行正在使用的SQL数据库的查询的好参考。
祝你好运!