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

MySQL:Du kan ikke angive måltabellens 'opgaver' til opdatering i FROM-klausulen

Du kan pakke det ind i en underforespørgsel som sådan. Problemet er, at MySQL ikke kan opdatere rækker, som det også forespørger på. Dette vil få MySQL til implicit at bruge en midlertidig tabel til at gemme de id'er, du vil slette.

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. laravel veltalende sortering efter forhold

  2. MySQL kopidatabase

  3. Hvordan kontrollerer man eksistensen af ​​to kolonners data i to forskellige tabeller? MySQL

  4. Dynamisk (kolonnebaseret) interval