作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有产品图片表。我的表格有每个产品图片的主图片列,同时只有一张图片应该是主图片,其他图片不是。
我写了这个 MySQL 查询:
update product_picture a1,product_picture a2
set a1.mainpicture=0, a2.mainpicture=1
where (a1.id=16 and productid=2)
and (a2.id!=16 and productid=2)
如果我的产品有两张图片,这不是问题,但如果产品有三张或更多图片,则当此查询执行一张图片 mainpicture 等于 0 且其他 mainpicture 更改为 1 时。
如果有两张或以上图片,我希望所选行为零,并将一个随机行设置为 1。
我无法对此查询使用限制。
最佳答案
您可以使用 IF()
更新特定产品 ID 的每张图片:
UPDATE product_picture
SET mainpicture = IF(id = 16, 1, 0)
WHERE productid = 2
这会将 id 16 的图片设置为产品 2 的主图片。
关于mysql - 如何只更改更新表中的 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30498039/
我是一名优秀的程序员,十分优秀!