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

Sådan løses MySQL-fejl Du kan ikke angive måltabel X til opdatering i FROM-klausulen?

Grunden til, at dette ikke virker, er, at MySQL ikke tillader dig at referere til tabellen, som du opdaterer (kan komme) i en underforespørgsel.

Dette kan dog overvindes ved at bruge en forespørgsel i stedet for selve tabellen i FROM, hvilket har den virkning, at de anmodede tabelværdier kopieres i stedet for at referere til den, du opdaterer.

Så effektivt vil dette, selvom det er kontraintuitivt, virke :

DELETE FROM cancome WHERE user_id IN
 ( SELECT user_id FROM (SELECT * FROM cancome) AS cancomesub
 GROUP BY user_id HAVING COUNT(user_id)>3 )
 limit 3



  1. Microsoft Azure:Hvad det er, og hvordan din virksomhed kan drage fordel af det

  2. Hjælp med at redigere JSON for at lave et array i stedet for en 'ordbog'

  3. En primær skal inkludere alle kolonner i tabellens partitioneringsplaceringsfejl?

  4. Django + MySQL på Mac OS 10.6.2 Snow Leopard