gpt4 book ai didi

mysql - 如何只更改更新表中的 2 行

转载 作者:行者123 更新时间:2023-11-29 22:23:28 25 4
gpt4 key购买 nike

我有产品图片表。我的表格有每个产品图片的主图片列,同时只有一张图片应该是主图片,其他图片不是。

我写了这个 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/

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