Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:você não pode especificar a tabela de destino para atualização na cláusula FROM


Você está recebendo este erro?

É porque você não pode atualizar a tabela diretamente se estiver usando-a em outra instrução de subseleção. Uma alternativa para isso é juntar a tabela consigo mesma.
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