sql >> Database >  >> RDS >> Mysql

verwijder waar id het grootst is

Eerste idee (onder vele anderen die precies hetzelfde hadden):

DELETE FROM orders 
WHERE order_id = 
      ( SELECT MAX(order_id)
        FROM orders
      )

Helaas klaagt MySQL met:

> ERROR 1093 (HY000): You can't specify target table 'orders' for update in FROM
> clause

Twee manieren om de fout te omzeilen:

DELETE FROM orders 
WHERE order_id =
       ( SELECT maxo
         FROM  
           ( SELECT MAX(order_id) AS maxo
             FROM orders
           ) AS tmp
        )

of:

DELETE FROM orders
ORDER BY order_id DESC
LIMIT 1 


  1. Hoe vastgoedprofessionals Microsoft Access kunnen gebruiken

  2. Hoe kan ik twee MySQL-tabellen synchroniseren die dezelfde structuren en een verschillende server hebben?

  3. Query die een hiërarchische lijst van typen triggergebeurtenissen in SQL Server retourneert

  4. Initiële array in functie om multidimensionale array te aggregeren