mysql的duplicate key update 用法
MySQL的INSERT...ON DUPLICATE KEY UPDATE语句可以在插入新记录时,如果发现已经存在一个具有相同唯一索引或主键的记录,则更新该记录而不是插入新记录。
语法如下:
INSERT INTO table_name (col1, col2, col3) VALUES (val1, val2, val3)
ON DUPLICATE KEY UPDATE col1=new_val1, col2=new_val2, col3=new_val3;
其中,table_name为表名,col1, col2, col3为列名,val1, val2, val3为要插入的值,new_val1, new_val2, new_val3为要更新的值。
使用该语句时,需要保证表中有一个唯一索引或主键,以便判断是否已经存在记录。如果出现冲突,则会执行UPDATE语句更新已有记录,否则执行INSERT语句插入新记录。
示例:
INSERT INTO users (id, name, age) VALUES (1, 'Tom', 25)
ON DUPLICATE KEY UPDATE name='Tom', age=26;
如果users表中已经存在id为1的记录,则会更新该记录的name和age字段,否则会插入一条新记录。
原文地址: https://www.cveoy.top/t/topic/ERC 著作权归作者所有。请勿转载和采集!