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))

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM