将Ignore插入表中无效

时间:2010-10-01 11:42:04

标签: mysql

insert ignore table ( field2 , name) Values ( 22 , 'value3');

添加重复值

和表结构:

+------------------------+------------------+------+-----+---------+----------------+
| Field                  | Type             | Null | Key | Default | Extra          |
+------------------------+------------------+------+-----+---------+----------------+
| ID                     | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| field2                 | int(10) unsigned | NO   | MUL | NULL    |                |
| field2                 | int(10) unsigned | YES  |     | NULL    |                |
| name                   | varchar(90)      | YES  |     | NULL    |                |
+------------------------+------------------+------+-----+---------+----------------+

out put

1  22 2 value2
2  22 2 value2
3  23 2 value3

2 个答案:

答案 0 :(得分:1)

您要插入的某个字段是否有索引?如果没有,请添加一个。

答案 1 :(得分:1)

如果您不想复制field2,则需要在field2上使用唯一索引。如果出现错误,INSERT IGNORE会忽略插入,在这些字段上没有任何唯一索引或约束,将不会出现错误

如果你不想在field2和name的组合上重复,你需要一个唯一的索引(field2,name)。