sql >> Database >  >> RDS >> Mysql

MySQL:u kunt de doeltabel voor update niet specificeren in de FROM-clausule

Krijgt u deze foutmelding?

De reden is dat u de tabel niet rechtstreeks kunt bijwerken als u deze in een andere subselect-instructie gebruikt. Een alternatief hiervoor is om met zichzelf aan tafel te gaan.

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. Migratie van SQL Server 2008 R2 naar MySQL

  2. PDO “Uncaught exception 'PDOException' .. Kan geen query's uitvoeren terwijl andere niet-gebufferde query's actief zijn. Overweeg het gebruik van PDOStatement::fetchAll().”

  3. Weergaven in SQL Server

  4. hoe een PDO-verbindingsobject in verschillende bestanden te gebruiken