Mysql 错误显示 #1221 - UPDATE 和 ORDER BY 的使用不正确
Mysql error shows #1221 - Incorrect usage of UPDATE and ORDER BY
我尝试在以下查询中使用 order by 但错误显示 #1221 - UPDATE 和 ORDER BY 的使用不正确
UPDATE products
JOIN (SELECT @rank := 0 ) r
SET `sort_order`=@rank:=@rank+1
WHERE `prd_status`=1 AND `prd_popular`=1 AND `prd_booked`=0 AND `prd_sold`=1 AND `prd_rd_mini`=0
ORDER BY `prd_price`DESC
多table更新中没有ORDER BY
参见:https://mariadb.com/kb/en/update/
像这样使用查询:
SELECT @rank:=0;
UPDATE products p
SET p.`sort_order`=@rank:=@rank+1
WHERE p.`prd_status`=1 ;AND p.`prd_popular`=1 AND p.`prd_booked`=0 AND p.`prd_sold`=1 AND p.`prd_rd_mini`=0
ORDER BY p.`prd_price` DESC;
我尝试在以下查询中使用 order by 但错误显示 #1221 - UPDATE 和 ORDER BY 的使用不正确
UPDATE products
JOIN (SELECT @rank := 0 ) r
SET `sort_order`=@rank:=@rank+1
WHERE `prd_status`=1 AND `prd_popular`=1 AND `prd_booked`=0 AND `prd_sold`=1 AND `prd_rd_mini`=0
ORDER BY `prd_price`DESC
多table更新中没有ORDER BY 参见:https://mariadb.com/kb/en/update/
像这样使用查询:
SELECT @rank:=0;
UPDATE products p
SET p.`sort_order`=@rank:=@rank+1
WHERE p.`prd_status`=1 ;AND p.`prd_popular`=1 AND p.`prd_booked`=0 AND p.`prd_sold`=1 AND p.`prd_rd_mini`=0
ORDER BY p.`prd_price` DESC;