UPDATE assets SET assets.Amount = (SELECT SUM(assets.Amount) - NEW.Amount FROM assets WHERE NEW.UserId = assets.UserId and NEW.AccountId = assets.AccountId) AS TmpAssets
WHERE NEW.UserId = assets.UserId and NEW.AccountId = assets.AccountId
0
A
回答
1
MySQL不允许您使用update
或delete
子查询中正在更新的表。解决这个问题很容易。
下面是使用update
/join
一种方法:
UPDATE assets a JOIN
(select sum(a.Amount) as sumamount, a.UserId, a.AccountId
from assets a
where NEW.UserId = a.UserId and NEW.AccountId = a.AccountId
group by a.UserId, a.AccountId
) anew
on NEW.UserId = a.UserId and NEW.AccountId = a.AccountId
SET a.Amount = anew.sumamount - new.Amount;
0
是的,你不能这样做,因为你在更新它时从表中进行子选择。 你可以做的最好的是创建一个tmp表并从那里执行子查询。
0
试试这个:
UPDATE assets SET assets.Amount = (select temp.val from (SELECT (SUM(assets.Amount) -
NEW.Amount) val from assets WHERE
NEW.UserId = assets.UserId and NEW.AccountId = assets.AccountId) temp)
WHERE NEW.UserId = assets.UserId and NEW.AccountId = assets.AccountId ;
相关问题
- 1. 更新:您无法在FROM子句中指定目标表'表'进行更新
- 2. MySQL |您无法在FROM子句中指定目标表'a'进行更新
- 3. err#1093 - 您无法指定目标表'wp_posts'在FROM子句中进行更新
- 4. 您无法在FROM子句中指定目标表'生物'进行更新
- 5. 您无法在FROM子句中指定目标表'名称'进行更新
- 6. php sql - 了解您无法在FROM子句中指定更新的目标表
- 7. 您无法在FROM子句中指定要更新的目标表'b'
- 8. 删除:您无法在FROM子句中指定要更新的目标表'table_name'
- 9. “试图更新表时,您无法在FROM子句中指定目标表'userinv'进行更新”
- 10. 获取MySQL错误代码1093:“您无法在FROM子句中更新指定目标表'fdd1'以更新
- 11. 您不能在FROM子句中指定目标表'tbl_prod'进行更新
- 12. MySQL中,你不能指定目标表更新在FROM子句
- 13. MySQL错误1093 - 无法在FROM子句中指定更新的目标表
- 14. 奇怪:无法在FROM子句中指定更新的目标表
- 15. 删除sql中的重复项:您无法在FROM子句中指定目标表'表'进行更新
- 16. #1093 - 您不能指定目标表“厘”的更新在FROM子句
- 17. 的SQLException:您不能指定目标表“P”的更新在FROM子句
- 18. 您不能指定目标表“当啷”的更新在FROM子句
- 19. ERROR 1093(HY000):不能指定更新目标表中FROM子句
- 20. 不能指定更新目标表中FROM子句
- 21. MySQL的:你不能指定目标表更新在FROM子句
- 22. MySQL不能指定目标表更新在FROM子句
- 23. 您不能指定目标表“rinexo”在FROM子句
- 24. 您不能指定目标表在FROM子句
- 25. ERROR 1093(HY000):您不能指定目标表“A”在FROM子句
- 26. 错误代码:1093.您无法在FROM子句中指定目标表'mm'进行更新
- 27. “您无法在FROM子句中指定目标表't1'进行更新”。如何删除行?
- 28. 如何解决MySQL错误“您无法在FROM子句中指定目标表X进行更新”?
- 29. 错误1093.您无法在FROM子句中指定目标表'ps_order_history'进行更新
- 30. MySQL错误:您无法在FROM子句中指定目标表'users_words'进行更新
尼斯查询,但我有一个问题。我在桌上有两笔记录,金额分别为20和30,两笔金额随新记录更改,我需要总计两笔记录(50),然后更改。非常需要帮助 – 2014-10-06 11:04:12
@PutraLZendrato。 。 。然后更改子查询以汇总所需的值。这个版本似乎正在做你正在试图用你的问题查询。 – 2014-10-06 11:18:57