0
ように:MySQLでは、INSERT文脈でIFを使用できますか?
INSERT INTO `video_play_counts`
(`id`,`video_id`,`date`,`count`,`created`,`modified`)
VALUES
("",1,"2016-12-01",26,"2016-12-03 17:51:53","2016-12-03 17:51:53")
ON DUPLICATE KEY UPDATE
`count` = GREATEST(`count`,VALUES(`count`)),
`modified` = IF(VALUES(`count`) > `count`,VALUES(`modified`),`modified`)
だから、私はvideo_id
とdate
上で一意のキーを持っていると私は、このユニークなキーでUPDATEを行うとき、新しいcount
値が既存のものより大きくされている場合には、私が希望それに応じてmodified
フィールドも更新します。 count
フィールドは期待通りに更新されますが、modified
フィールドはUPDATEの場合に新しい値を取得しません。
私はこれを使用して1つのクエリで複数の挿入/更新を行うことに注意してください。ちょうどこの例では1つの値セットしかありません。
私は間違っていますか?
はい、それは動作します!私はそれを見る:)とてもありがとう! –