敬礼!我在symfony中使用下面的原始sql语句将现有表中的大量行插入到具有相同结构的其他表中,其中也包含大量现有行[因为使用的表是在运行时动态创建的,所以没有symfony实体]:
$sql_insert = "INSERT INTO table1".$proid." SELECT * from ".$tablename." ON DUPLICATE KEY UPDATE table1".$proid.".id = table1".$proid.".id + 1";
但仍然得到同样的错误:
sqlstate[23000]:完整性约束冲突:1062键“primary”的重复条目“2”
它并不适用于每个条目,只适用于第一个插入的条目。。。请帮我解决这个问题。如何更新主键?
2条答案
按热度按时间8ftvxx2r1#
symfony帮助解决了重复密钥问题,如下所示:
8i9zcol22#
正确的查询是:
您需要更新每列的键。
您可以从以下链接参考此问题,希望它能解决问题:
在重复密钥更新时与insert相同
https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html