插入具有唯一索引的表

时间:2014-03-30 20:04:35

标签: mysql insert duplicates unique-index

根据先前的问题,我在名称字段上创建了唯一索引。我已经简化了我的导入,所以我不再需要合并字段,只需从SourceTable导入到DestinationTable,后者在名称上有唯一索引。

当我尝试执行插入时,我立即收到有关重复值的错误,所以我想这是个好消息,有没有办法指定一个只会跳过重复值并转到下一个vs的插入抛出“[Err] 1062 - 重复输入'演员'为键2”并退出?

1 个答案:

答案 0 :(得分:0)

在MySQL中,您可以使用insert ignore忽略所有错误,包括重复密钥。

要忽略这一个错误,您可以使用on duplicate key update

insert into t(cols)
    select values
    from wherever
    on duplicate key update col1 = values(col1);

update部分没有做任何重要的事情。它只是做了一些事情,所以没有报告错误。