MySQL — Update if exists else insert with two keys

后端 未结 4 672
栀梦
栀梦 2021-01-03 03:17

I have a table with fields foreign_key_id | value1 | value2, and I want to update value2 if I have a match for foreign_key_id and value1.

If foreign_key_id or value

4条回答
  •  情歌与酒
    2021-01-03 03:42

    Try this slight modification if you cannot get p.campbell's solution to work

    IF EXISTS(SELECT 1 FROM Mytable WHERE foreign_key_id = f1 AND value1 = v1) THEN
        UPDATE Mytable SET value2 = v2
        WHERE foreign_key_id = f1 AND value1 = v1;
    ELSE
        INSERT INTO Mytable(foreign_key_id,value1,value2)
        VALUES (f1,v1,v2);
    END IF;
    

提交回复
热议问题