我有一个包含 10 列的表,我必须从 CSV 文件添加很多很多行。当然,我不能添加两个相同的行,因此我需要一个 SQL 语句,如果整行确实存在,则忽略该命令。仅当所有字段都相同时才必须忽略 INSERT。两行可能有相同的field1 or field2,但并非所有字段都相同。
I tried INSERT IGNORE
但它不起作用。没有列设置为UNIQUE
,作为INSERT
仅当整行相同时才必须忽略。
对此你有什么解决办法呢?谢谢!
创建组合索引所有列, then INSERT IGNORE
or REPLACE INTO
根据您的需要。
来自docs http://dev.mysql.com/doc/refman/5.5/en/insert.html:
如果使用 IGNORE 关键字,则执行 INSERT 语句时发生的错误将被视为警告。例如,如果没有 IGNORE,则重复现有行的行唯一索引或表中的 PRIMARY KEY 值导致重复键错误并且语句被中止。使用 IGNORE,该行仍然不会插入,但不会发出错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)