我要做的是查询数据库并让它返回订单。该整数被错误地插入为负数。所以我想把它的abs()重新插入正面。我不认为MySQL可以做到这一点,但这就是我编写查询的方式。我正在寻找替代方法。 (如果这不可能,我将简单地使用PHP)。谢谢。
编辑:这应该更新一行。
UPDATE `users` SET `orders` = (SELECT abs(orders)
FROM `users` WHERE count1 = 5) WHERE count1 = 5;
答案 0 :(得分:0)
不幸的是,MySQL有这个愚蠢的限制,即更新的表可能不会出现在同一语句的子选项中。
但我不明白为什么你需要根据子选择:
UPDATE users
SET orders = abs(orders)
WHERE count1 = 5;
应该做你想做的事。
或者,如果您想将所有负值转换为正值:
UPDATE users
SET orders = abs(orders)
WHERE orders < 0;