ON DUPLICATE KEY UPDATE
- 定义:ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑语句的作用,当insert已经存在的记录时,执行Update。
- 适用场景:主要用于新增的时候,如果表里面已经存在数据则可以进行修改或不变,表里面没有的数据会新增进去,很适用于两张相同的表,数据进行互相导入、修改。
- 具体分析:假设有新老用户表,字段一样
表1
在建一个表2,跟表1相同就行
在表1,表2 添加几条数据
这是sql语句 将表1的数据查询出来,新增到表2,id相同,将表1的数据覆盖表2,表2不存在的数据,执行新增,具体覆盖那些字段可以根据具体的业务进行修改。
INSERT INTO student_2 (student_id,name,address,age,sex) SELECT
student_id,name,address,age,sex
FROM student_1
ON DUPLICATE KEY UPDATE
name = VALUES(name),
address = VALUES(address),
age = VALUES(age)
运行完之后的表2