gpt4 book ai didi

sql - DELETE 语句冲突 REFERENCE 约束

转载 作者:行者123 更新时间:2023-12-04 21:59:00 24 4
gpt4 key购买 nike

我收到错误

The DELETE statement conflicted with the REFERENCE constraint FK_DocYDocument1 - table DocYDocument, column SubDocID - Statement: DELETE FROM DOCUMENT WHERE (ID=?) Parameter: 'D7FAA3CF...'



表 DocYDocument 有列
PK ID, FK DocID and FK SubDocID. 
And the keys PK_DocYDocument, FK_DocYDocument and FK_DocYDocument1.

FK_DocYDocument1 外键列是 SubDocID,FK_DocYDocument 外键列是 DocID。

数据库设计有问题还是我必须在程序中查找错误?

最佳答案

您在 DocYDocument 中有行指的是DOCUMENT您正在尝试删除。

您必须从 DocYDocument 中删除行与匹配 DocID

DELETE FROM DocYDocument WHERE DocID = ?
DELETE FROM DOCUMENT WHERE ID = ?

或更改约束以自动执行此操作
ALTER TABLE DocYDocument
DROP CONTRAINT FK_DocYDocument;
ALTER TABLE DocYDocument
ADD CONSTRAINT FK_DocYDocument
FOREIGN KEY ( DocID )
REFERENCES DOCUMENT ( ID )
ON DELETE CASCADE;

DocID可以为空,您可以改为执行 ON DELETE SET NULL , 如果你希望。

关于sql - DELETE 语句冲突 REFERENCE 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com