sql >> Database >  >> RDS >> Mysql

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

Je kunt het zo in een subquery verpakken. Het probleem is dat MySQL geen rijen kan bijwerken die ook worden doorzocht. Hierdoor gebruikt MySQL impliciet een tijdelijke tabel om de ID's op te slaan die u wilt verwijderen.

DELETE FROM tasks
WHERE tasks.id IN 
(
SELECT id FROM
(
SELECT tasks.id
FROM tasks 
    JOIN deadlines ON deadlines.id = deadline_id
WHERE DATE_ADD(tasks.created_at, INTERVAL deadlines.duration DAY) <= NOW()
) AS taskstodelete
)


  1. Overschakelen/terugschakelen in Slony-I tijdens het upgraden van PostgreSQL-hoofdversies 8.4.x/9.3.x

  2. fail execute-statement met php en mysql

  3. Postgresql - kan database niet verwijderen vanwege enkele automatische verbindingen met DB

  4. Onbekende kolom in waar-clausule