我试图更新列的MIN值,但似乎无法使我的语法正常工作。
我不断收到错误
 #1093-您无法在FROM子句中指定目标表'turcare_turutstyr'进行更新

我的查询是

UPDATE tableName
SET solgt = true
WHERE produktid = (SELECT min(produktid) FROM tableName
               WHERE artnr = '1234'
               AND solgt = false)


我在哪里做错了?

最佳答案

MySQL不允许您在updatedelete查询中直接两次使用同一表。好吧,确实如此。一种方法使用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/

10-12 23:53