我正在尝试使用此处描述的方法构造一个查询,该查询将更新表中的多行:Multiple Updates in MySQL
基本上,我正在使用INSERT ... ON DUPLICATE KEY UPDATE
方法,并使用
INSERT INTO table1
(id, val1, val2)
VALUES
(0, 5, 5)...<etc.>
ON DUPLICATE KEY
UPDATE id=VALUES(id), val1=VALUES(val1), val2=VALUES(val2)
问题是id
列被引用为来自其他表的外键,因此当我尝试执行此查询时,会出现Cannot delete or update a parent row: a foreign key constraint fails
错误。
是否有一种方法可以使INSERT DUPLICATE KEY UPDATE
方法与此外键约束一起工作(我宁愿不禁用该约束,即使是暂时禁用),还是坚持发送多个查询到我的数据库?