gpt4 book ai didi

php - UPDATE 和 ORDER BY 的错误使用

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

我已经编写了一些代码,用递减的数字序列更新表格的某些行。要选择正确的行,我必须连接两个表。表中的最后一行的值需要为 0,倒数第二行的值为 -1,依此类推。为此,我使用 ORDER BY DESC。不幸的是,我的代码出现了以下错误:

UPDATE 和 ORDER BY 的错误使用

我的阅读表明我不能同时使用 UPDATE、JOIN 和 ORDER BY。我读过子查询可能有帮助吗?我真的不知道如何更改我的代码来执行此操作。也许有人可以发布可以使用的修改版本?

while($row = mysql_fetch_array( $result )) {

$products_id = $row['products_id'];
$products_stock_attributes = $row['products_stock_attributes'];

mysql_query("SET @i = 0");

$result2 = mysql_query("UPDATE orders_products op, orders ord

SET op.stock_when_purchased = (@i:=(@i - op.products_quantity))
WHERE op.orders_id = ord.orders_id
AND op.products_id = '$products_id'
AND op.products_stock_attributes = '$products_stock_attributes'
AND op.stock_when_purchased < 0
AND ord.orders_status = 2

ORDER BY orders_products_id DESC")
or die(mysql_error());
}

最佳答案

只需删除 UPDATE 语句中的 ORDER BY,然后将其放入 SELECT 语句中即可。

示例:

$query = "SELECT ........ ORDER BY ..."
$result = mysql_query($query);

while(....){.... }

UPDATE 语句不接受 ORDER BY 子句。

关于php - UPDATE 和 ORDER BY 的错误使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116372/

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