如果值大于当前值,则更新MySQL

时间:2017-06-06 01:30:00

标签: mysql

这是我的插入脚本:

INSERT INTO CONTENT (content_id, version, description)
VALUES ('123', '1', 'This is an example')
ON DUPLICATE KEY UPDATE version=VALUES(version),description=VALUES(description)

content_id是pk。 如果有重复的密钥,我想检查version下的值。如果它大于我想要插入的值,则忽略新插入。否则,在db中更新content_id的那个。我试图首先在堆栈溢出上搜索我的问题并找到:MySQL update if value is greater than that current value。但它并没有解决我的问题。 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

INSERT INTO CONTENT (content_id, version, description) VALUES ('123', '1', 'This is an example') ON DUPLICATE KEY UPDATE version= CASE WHEN VALUES(version) > version THEN VALUES(version) ELSE version END, description= CASE WHEN VALUES(version) > version THEN VALUES(description) ELSE description END