2017-06-06 7 views
0

現在の値よりも大きい場合、私の挿入スクリプトです: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の値をチェックしたいと思います。それを挿入するよりも大きい場合は、新しい挿入を無視します。それ以外の場合は、content_id(db)で更新してください。スタックオーバフローで質問を最初に検索しようとしましたが、これが見つかった:MySQL update if value is greater than that current value。しかし、それは私の場合を解決しません。 提案がありますか?

答えて

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

関連する問題