Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如果同一整行没有';不存在_Mysql_Insert_Row_Unique - Fatal编程技术网

Mysql 如果同一整行没有';不存在

Mysql 如果同一整行没有';不存在,mysql,insert,row,unique,Mysql,Insert,Row,Unique,我有一个10列的表格,我必须从CSV文件中添加很多很多行。当然,我不能添加两个相同的行,因此我需要一个SQL语句,如果整行确实存在,则该语句将忽略该命令。只有当所有字段都相同时,才能忽略插入。两行可能具有相同的字段1或字段2,但并非所有字段都相同 我尝试了INSERT IGNORE,但不起作用。没有列被设置为唯一,因为只有在整行相同的情况下才能忽略插入 你有什么解决办法?谢谢 在所有列上创建一个组合索引,然后根据需要将插入忽略或替换到中 从: 如果使用IGNORE关键字,则执行INSERT语句时

我有一个10列的表格,我必须从CSV文件中添加很多很多行。当然,我不能添加两个相同的行,因此我需要一个SQL语句,如果整行确实存在,则该语句将忽略该命令。只有当所有字段都相同时,才能忽略插入。两行可能具有相同的字段1或字段2,但并非所有字段都相同

我尝试了
INSERT IGNORE
,但不起作用。没有列被设置为
唯一
,因为只有在整行相同的情况下才能忽略
插入


你有什么解决办法?谢谢

所有列上创建一个组合索引,然后根据需要将
插入忽略
替换到

从:

如果使用IGNORE关键字,则执行INSERT语句时发生的错误将改为警告。例如,在不忽略的情况下,复制表中现有的唯一索引或主键值的行将导致重复键错误,语句将中止。使用IGNORE时,仍不会插入行,但不会发出错误


我为使用INSERT IGNORE的所有列添加了一个索引,它不起作用是的,但两个字段可以有相同的值。仅当整行已存在时才允许插入-新行的每个字段与现有行的每个字段相同如果我设置了唯一索引,则两行中不能有相同的值。不是每一列上都有唯一索引,而是所有列上都有一个组合的唯一索引,这符合您的要求Swall,当我试图一次将索引应用于所有对象时,我发现:#1071-指定的键太长;最大密钥长度为1000字节