Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

hapus di mana id adalah yang terbesar

Ide pertama (di antara banyak ide lain yang persis sama):

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

Sayangnya MySQL mengeluh dengan:

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

Dua cara untuk melewati kesalahan:

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

atau:

DELETE FROM orders
ORDER BY order_id DESC
LIMIT 1 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengubah format tanggal csv menjadi mysql db

  2. Cara termudah untuk mengubah array byte menjadi Blob di java

  3. Cara mengatur entitas (doktrin) untuk tampilan basis data di Symfony 2

  4. Apakah ada perbedaan performa antara BETWEEN dan IN dengan MySQL atau SQL pada umumnya?

  5. Pilih 10 baris pertama yang berbeda di mysql