gpt4 book ai didi

mysql : How to insert a row only if an update statement affected 0 row?

转载 作者:行者123 更新时间:2023-11-29 21:53:09 25 4
gpt4 key购买 nike

请考虑这个简单的示例:“用户”表和“计算机”表。一个用户可以拥有 0 台或 N 台计算机。

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

所以我无法在重复 key 更新时执行 INSERT ...,因为我没有任何重复 key 。

梦想的查询是这样的:

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

谢谢

最佳答案

在 mySQL 中你可以这样尝试,应该可以工作:

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

希望能帮到你。

关于mysql : How to insert a row only if an update statement affected 0 row?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33431064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com