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

slet hvor id er størst

Første idé (blandt mange andre, der havde præcis det samme):

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

Desværre klager MySQL over:

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

To måder at omgå fejlen på:

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

eller:

DELETE FROM orders
ORDER BY order_id DESC
LIMIT 1 


  1. JSON_PRETTY() – Formater JSON-dokumenter for lettere læsbarhed i MySQL

  2. Kaldning af en Oracle-procedure med en PL/SQL-opsamlingstypeparameter via .NET

  3. Eksempler fra det virkelige liv, hvornår man skal bruge OUTER / CROSS APPLY i SQL

  4. Mysql Concat to kolonner, mens du søger med LIKE