gpt4 book ai didi

php - 在 MySQL 中是否可以只更新第 n 次出现?

转载 作者:行者123 更新时间:2023-12-01 00:16:46 26 4
gpt4 key购买 nike

我的表有这样的数据

  products_parent_id | products_quantity
2 5
2 7
2 9
2 4

我的 SQL 语句看起来像这样(到目前为止):

UPDATE ' . TABLE_PRODUCTS . ' SET products_quantity = products_quantity +' . $order['products_quantity'] . ', products_ordered = products_ordered - ' . $order['products_quantity'] . ' WHERE products_parent_id = ' . (int)$order['products_id']

现在我想做的是只更新第 3 次出现的 products_parent_id(在本例中,从顶部数第 3 次是 9)

为了选择第 3 次出现,我在语句末尾使用了它 LIMIT($grade, 1)

有没有一种方法可以使用 MySQL 进行更新,但仅在第 3 次/第 4 次等情况下发生?可靠吗?

谢谢

最佳答案

简短回答:否

长答案:

有点。因为返回行的顺序不是由 SQL 定义的。
从技术上讲,对数据库的两个不同请求可能会以不同的顺序返回行。因此,即使您更新第三行,第三行也取决于实现。

缓解这种情况的唯一方法是对行应用特定的排序。 (订购依据)

我不认为它是语言规范的一部分,但大多数 SQL 实现允许您从查询中获取特定行。我不确定 MYSQL 的具体细节是什么,但快速谷歌得到这个页面:

http://forums.mysql.com/read.php?10,36490,36511

关于php - 在 MySQL 中是否可以只更新第 n 次出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/422828/

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