Mysql:如果更新语句影响了0行,如何插入行?

时间:2015-10-30 07:51:13

标签: mysql insert-update

请考虑这个简单的例子:"用户"桌子和电脑"表。用户可以拥有0或N台计算机。

我想为用户更新所有计算机(例如,从windows到mac ;-),如果用户还没有计算机,则创建1台计算机。

所以我无法插入...重复主题更新,因为我没有任何重复的密钥。

梦想查询将是:

UPDATE computer SET model='mac' WHERE user_id=1 
ON ROW_AFFECTED = 0 INSERT INTO computer SET model='mac', user_id=1

由于

1 个答案:

答案 0 :(得分:0)

在mySQL中你可以这样试试,这应该有效:

IF NOT EXISTS (SELECT xyz FROM TABLE WHERE col = 'xyz') THEN
    INSERT INTO....
ELSE
    UPDATE....
END IF;

我希望我能帮到你。