作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请考虑这个简单的示例:“用户”表和“计算机”表。一个用户可以拥有 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/
我是一名优秀的程序员,十分优秀!