sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Du kan inte ange måltabellens "uppgifter" för uppdatering i FROM-satsen

Du kan slå in det i en underfråga som så. Problemet är att MySQL inte kan uppdatera rader som det också frågar efter. Detta kommer att få MySQL att använda en temporär tabell implicit för att lagra de ID du vill ta bort.

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. ORACLE 11g skiftlägesokänslig som standard

  2. Databasdesign för skolgångssystem

  3. MYSQL Dumpa endast vissa rader

  4. hur använder man en like med en join i sql?