Tôi đang cố gắng chuyển một số truy vấn MySQL cũ sang PostgreSQL, nhưng tôi đang gặp sự cố với câu này:
DELETE FROM logtable ORDER BY timestamp LIMIT 10;
PostgreSQL không cho phép sắp xếp thứ tự hoặc giới hạn trong cú pháp xóa của nó và bảng không có khóa chính nên tôi không thể sử dụng truy vấn con. Ngoài ra, tôi muốn duy trì hành vi nơi truy vấn xóa chính xác số hoặc bản ghi đã cho - ví dụ: nếu bảng chứa 30 hàng nhưng tất cả chúng đều có cùng dấu thời gian, tôi vẫn muốn xóa 10, mặc dù điều đó không quan trọng mà 10.
Vì thế; làm cách nào để xóa một số hàng cố định có sắp xếp trong PostgreSQL?
Chỉnh sửa: Không có khóa chính nghĩa là không có log_id
cột hoặc cột tương tự. Ah, niềm vui của các hệ thống kế thừa!
alter table foo add column id serial primary key
.