sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Du kan ikke angive måltabel for opdatering i FROM-klausulen

Får du denne fejl?

Det er fordi du ikke kan opdatere tabellen direkte, hvis du bruger den på en anden subselect-sætning. Et alternativ til dette er at slutte sig til bordet med sig selv.

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



  1. Opret triggerfejl:ugyldig syntaks

  2. MySQL-forespørgselsfejl 1054

  3. MySQL:Få kolonner efter værdiprioriteter

  4. Laravel bruger where-sætning på en withCount-metode