每次重复密钥更新插入记录

时间:2016-11-08 09:02:29

标签: mysql

我正在使用这个mysql查询

insert into table (vin,name,city,dob) values ('der12','john','city name','2016-17-10')  ON DUPLICATE KEY UPDATE name='john'

表结构是

id - bigint -primary key
vin - varchar 
name - varchar
city - varchar
dob - varchar 

所以在这里我有像bigint和autoincreament的id,而且vin也不能复制,我需要检查的是 如果vin已经在表中,则更新记录或如果一切都相同则不执行任何操作,如果vin只是不同的话 插入记录。

我尝试将vin视为独特但是

ALTER TABLE table ADD UNIQUE (vin)

但问题是在我运行查询后添加它显示一些重复错误而不是更新或忽略它。

需要帮助。

提前致谢

1 个答案:

答案 0 :(得分:0)

根据我的理解,如果“vin”不同,你想添加记录,否则保留以前的记录。

您可以获取“vin”为“john”的记录数或您当前插入的任何值。如果count为“0”,则插入记录否则不执行任何操作。