Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Câu lệnh xóa Mysql có giới hạn

Bạn không thể chỉ định độ lệch trong DELETE của LIMIT mệnh đề.

Vì vậy, cách duy nhất để làm điều đó là viết lại truy vấn của bạn thành một cái gì đó như:

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

Giả sử rằng bạn có khóa chính id cột

CẬP NHẬT :bạn cần triển khai lồng ghép kép để đánh lừa mysql, vì nó không cho phép chọn từ bảng hiện đã được sửa đổi (nhờ 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. Tìm tổng số kết quả trong truy vấn mySQL với offset + giới hạn

  2. Lưu trữ số nguyên rất lớn trong MySQL

  3. Khắc phục khoảng trống trong id hàng bảng mysql sau khi chúng tôi xóa một số trong số chúng

  4. Cắt ngắn tất cả các bảng trong cơ sở dữ liệu MySQL trong một lệnh?

  5. Pymysql Chèn vào không hoạt động