热线电话:13121318867

登录
2021-01-17 阅读量: 2589
mysql1062错误:Duplicate entry '...' for key 'PRIMARY "

在数据库中导入数据,报错1062.

答:我们在创建好的数据库中添加数据时,报错的原因是我们插入含有和主键数据相同的数据记录,已经存在不能再添加了。

使用MySQL提供的 INSERT ... ON DUPLICATE KEY UPDATE 语句,这是MySQL的扩展语法。

语句如下:

INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1, b=4;

查询语句

如果存在,更新数据

如果不存在,插入数据

分三段来理解:

  • 第一段,常规的INSERT语句。INSERT INTO <table>(col1, col2, ...) VALUES (val1, val2, ...)

  • 第二段,ON DUPLICATE KEY,表示后面的语句是当数据有冲突的情况下会执行的

  • 第三段,UPDATE语句。UPDATE a=1, b=2

注意,由于有 ON DUPLICATE KEY,也就是说必须得有字段会发生冲突。什么属性的字段能冲突呢?

  • 主键(Primary Key)

  • 唯一索引(Unique Key)



100.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据