我试图更新列的MIN值,但似乎无法使我的语法正常工作。
我不断收到错误
#1093-您无法在FROM子句中指定目标表'turcare_turutstyr'进行更新
我的查询是
UPDATE tableName
SET solgt = true
WHERE produktid = (SELECT min(produktid) FROM tableName
WHERE artnr = '1234'
AND solgt = false)
我在哪里做错了?
最佳答案
MySQL不允许您在update
或delete
查询中直接两次使用同一表。好吧,确实如此。一种方法使用join
:
UPDATE tableName t JOIN
(SELECT min(produktid) as produktid
FROM tableName
WHERE artnr = '1234' AND solgt = false
) tt
ON t.produktid = tt.produktid
SET solgt = true;
关于mysql - UPDATE和MIN SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36840580/