我有一个表tableA,它有一个列myID。 myID是tableA中的主键和tableB的外键。
当我尝试更新tableA中的特定记录的myID时:
update tableA
set myID = 123456
where myID= 999999
我收到了这个错误:
UPDATE语句与FOREIGN KEY约束冲突 “tableA_FK00”。冲突发生在数据库“mydatabase”,表中 “tableA”,列'myID'。
我已将myID的更新规则设置为“级联”并将外键约束强制设置为“否”,但我仍然无法更新。我该怎么办?
答案 0 :(得分:0)
尝试以下步骤:
ALTER TABLE tableA WITH NOCHECK
CONSTRAINT ALL
)。答案 1 :(得分:0)
如果tableB中有一条记录引用具有PK 123456的tableA而tableB是具有“tableA_FK00”约束的表,则表示您违反了约束。如果你必须改变tableA中一行的PK(我不知道你为什么这样做,PK应该永远不会改变!!!)你有责任确保没有其他记录用FK约束引用它。 / p>
所以如果你坚持改变tableA中的PK:
另一种选择: