MySQL 实现无数据插入有数据更新。(面试招银网络的题,很懵逼,不会)
1 ON DUPLICATE KEY UPDATE
拿如下所示表格举例
INSERT INTO student_info (id,no,name,age,score) VALUES(1,201911,'pei',25,100) ON DUPLICATE KEY UPDATE age=30
2 REPLACE
REPLACE将DELETE和INSERT合二为一,形成一个原子操作。在使用REPLACE时,表中必须有唯一索引,而且这个索引所在的字段不能允许空值,否则REPLACE就和INSERT完全一样的。在执行REPLACE后,系统返回了所影响的行数,如果返回1,说明在表中并没有重复的记录,如果返回2,说明有一条重复记录,系统自动先调用了DELETE删除这条记录,然后再记录用INSERT来插入这条记录。
REPLACE INTO student_info (id,no,name,age,score) VALUES(1,201911,'pei',50,100)