MySql数据库实现数据存在则更新,不存在则插入
微wx笑 2022-11-17【数据库】 1 0关键字: mysql
1.存在则更新(不影响其他字段),不存在则插入insert into 表名(字段1,字段2) VALUES(值1,值2)ON DUPLICATE KEY UPDATE username=值3如上语句的意思的意思是如果字段1不存在(主键
1.存在则更新(不影响其他字段),不存在则插入
insert into 表名(字段1,字段2) VALUES(值1,值2)ON DUPLICATE KEY UPDATE username=值3
如上语句的意思的意思是如果字段1不存在(主键,索引或者唯一条件不存在),则执行插入语句,存在则执行更新语句,该更新只更新需要的字段,不影响其他字段的值;
2.存在则更新(先删除后更新),不存在则插入
REPLACE INTO 表名(字段1,字段2)VALUES(值A,值B);
如上语句的意思的意思是如果字段1不存在(主键,索引或者唯一条件不存在),则执行插入语句,存在则执行更新语句,该更新是将该条存在的记录删除,然后再插入,所以其他的字段的值都是NULL;
3.存在则忽略,不存在插入
INSERT IGNORE INTO 表名(字段1,字段2)VALUES(值A,值B);
如上语句的意思是如果字段1不存在(主键,索引或者唯一条件不存在),则执行插入语句,如果存在,直接忽略不修改任何数据
4、批量从一个表复制到另一个表
INSERT IGNORE INTO `hot_board2` SELECT * FROM `hot_board` order by `hotlife` DESC
这里的 order by 语句似乎不生效。
本文为转载文章,版权归原作者所有,不代表本站立场和观点。