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

Pernyataan hapus MySQL dengan batas

Anda tidak dapat menentukan offset di DELETE LIMIT klausa.

Jadi satu-satunya cara untuk melakukannya adalah dengan menulis ulang kueri Anda menjadi sesuatu seperti:

DELETE FROM `chat_messages` WHERE id IN (select id from (select id
                                           FROM `chat_messages`
                                       ORDER BY `timestamp` DESC
                                          LIMIT 20, 50) x)

Misalkan Anda memiliki kunci utama id kolom

UPD :Anda perlu mengimplementasikan double nesting untuk mengelabui mysql, karena tidak memungkinkan untuk memilih dari tabel yang saat ini dimodifikasi (terima kasih kepada Martin Smith)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengembalikan hasil kueri dalam urutan yang telah ditentukan sebelumnya

  2. Apa yang setara dengan bind_result di PDO?

  3. Bagaimana cara mengekspor dan mengimpor file .sql dari baris perintah dengan opsi?

  4. Melewati daftar ke prosedur tersimpan MySQL dan memeriksa SEMUA nilai ada

  5. Buat Pengguna MySQL di Linux melalui Command Line