Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Sie können die Zieltabelle für die Aktualisierung nicht in der FROM-Klausel angeben

Erhalten Sie diesen Fehler?

Das liegt daran, dass Sie die Tabelle nicht direkt aktualisieren können, wenn Sie sie in einer anderen Subselect-Anweisung verwenden. Eine Alternative dazu ist, die Tabelle mit sich selbst zu verbinden.

UPDATE  list a
        INNER JOIN
        (
            SELECT  dn 
            FROM    list 
            GROUP   BY dn 
            HAVING  COUNT(*) < 2000 
        ) b ON a.dn = b.dn
SET     a.li = '6'
WHERE   a.li = '5