gpt4 book ai didi

php - 如何使用mysql顺序更新数据库

转载 作者:行者123 更新时间:2023-11-29 04:17:15 26 4
gpt4 key购买 nike

我有一个来自数据库的长列表,我想按名称组更新字段。我想将前 30 个更新为值“1”,接下来的 30 个更新为值“2”,依此类推直到结束

关于如何去做的任何想法

$sql = mysqli_query($conn,
"UPDATE `tablename` SET `group` = '$value' WHERE id IN (SELECT id FROM tablename ORDER BY id desc LIMIT 0, 30)");

最佳答案

您遇到了 mysql 的限制

You cannot update a table and select from the same table in a subquery.

您可以使用更新连接,但由于涉及限制,您会再次遇到同样的问题。由于只涉及少量记录,您可以通过简单的查询来获取 ID。

SELECT GROUP_CONCAT(id) FROM tablename ORDER BY id desc LIMIT 0, 30

然后在下一个查询中使用它

UPDATE `tablename` SET `group` = '$value' WHERE id IN (ids_from_above_query)

如果您担心并发更新,请启动事务。

关于php - 如何使用mysql顺序更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38693492/

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