我正在使用此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
所以在这里我有id作为bigint和autoincreament,并且vin也不能重复,我需要检查的是
如果vin已经在表中,则更新记录或如果一切相同则不做任何事情,如果vin是不同的。
插入记录。
我也尝试让vin变得独一无二
ALTER TABLE table ADD UNIQUE (vin)
但是问题是添加后,当我运行查询时,它显示了一些重复性错误,而不是更新或忽略它。
需要帮助。
提前致谢
最佳答案
据我了解,如果“ vin”不同,则要添加记录,否则请保留以前的记录。
您可以获取以“ vin”为“ john”或当前正在插入的任何值的记录数。如果count为“ 0”,则插入记录,否则不执行任何操作。
关于mysql - 每次在重复 key 更新上插入记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40482745/