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

# 1221 - Sử dụng không chính xác UPDATE và ORDER BY

Bạn không thể sử dụng thứ tự theo và giới hạn trong câu lệnh cập nhật trong trường hợp có nhiều bảng.

Trích dẫn từ Tài liệu MySQL:

UPDATE user u 
INNER JOIN 
(
    SELECT 
    *,
    (@i := (@i + 1)) AS row_number
    FROM user u 
    CROSS JOIN (SELECT @i := 0) r
    WHERE user_active=1
    ORDER BY user_planets DESC
)AS t
ON u.Primary_key = t.primary_key
SET u.user_rank_planets = t.row_number.

Lưu ý: Thay thế u.Primary_keyt.primary_key bằng khóa chính của user bảng.

Đọc một vài đoạn đầu tiên http://dev.mysql.com/doc /refman/5.7/en/update.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spring Boot JPA MySQL:Không xác định được lớp trình điều khiển phù hợp

  2. Timestampdiff () trong MySQL có tương đương với dateiff () trong SQL Server không?

  3. Chèn hình ảnh vào cơ sở dữ liệu

  4. Cách xác định một số nguyên không dấu trong SQLAlchemy

  5. Con trỏ vòng lặp thủ tục lưu trữ MySql - Lỗi cú pháp