UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5, 5 ;
Tôi cố gắng để sử dụng truy vấn này để cập nhật một bộ 5 hàng sử dụng giới hạn nhưng mysql được hiển thị một error..The dưới đây đang làm việccập nhật nhiều hàng bằng cách sử dụng giới hạn trong mysql?
UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5 ;
tại sao người đầu tiên không làm việc?
Bạn có thực sự cần chọn đôi lồng nhau không? Trong ms sql nó sẽ chỉ là một cái gì đó như "Nơi id trong (SELECT TOP 5 id TỪ tin nhắn ORDER BY date_added DESC)" –
Có, MySQL không cho phép bạn cập nhật một bảng mà nó chọn. Lựa chọn lồng bổ sung buộc nó để lưu kết quả vào một bảng tạm thời. –
Khi bạn hỏi 'nếu bạn thực sự phải làm theo cách này', bạn ngụ ý có một lựa chọn tốt hơn để cập nhật hồ sơ dựa trên thứ hạng được đưa ra bởi thứ tự của một trong các trường của nó? – deed02392