mysql(ON DUPLICATE KEY UPDATE)字段值为空更新新值,不为空不更新

tableName: 表名
id: 主键(唯一键)
field_1: 更新的字段

为空更新

INSERT IGNORE INTO `tableName`(`id`,`field_1`) VALUES('1', '100'),('2', '200') ON DUPLICATE KEY UPDATE field_1 = IF(tableName.field_1, tableName.field_1, VALUES(field_1))

 


新值大于旧值更新

INSERT IGNORE INTO `tableName`(`id`,`field_1`) VALUES('1', '100'),('2', '200') ON DUPLICATE KEY UPDATE field_1 = IF(VALUES(field) > tableName.field_1, tableName.field_1, VALUES(field_1))

 

posted @ 2021-10-25 10:49  曹子健  阅读(1387)  评论(0)    收藏  举报