MySQL INSERT SELECT - 重复行

时间:2011-11-29 15:54:06

标签: php mysql

我想这样做一个INSERT SELECT查询:

INSERT INTO `tableName` (SELECT * FROM `anotherTable`) 

问题是当它找到一个重复的值时,整个事情就会停止,实际上我只是希望它继续并跳过重复项。

我知道我可以通过cmd行使用-f参数来强制它,但是我想用PHP来做。在PHP mysql_ *函数中某处有强制或忽略错误选项吗?

2 个答案:

答案 0 :(得分:2)

您需要添加ON DUPLICATE KEY IGNORE:

INSERT INTO `tableName` (SELECT * FROM `anotherTable`) ON DUPLICATE KEY IGNORE

信息在这里 - > http://dev.mysql.com/doc/refman/5.5/en/insert.html

答案 1 :(得分:1)

使用INSERT IGNORE

INSERT IGNORE INTO `tableName` (SELECT * FROM `anotherTable`)