sql >> Database teknologi >  >> RDS >> Mysql

#1221 - Forkert brug af OPDATERING og BESTIL EFTER

Du kan ikke bruge rækkefølge efter og grænse i opdateringserklæringen i tilfælde af flere tabeller.

Citerer fra MySQL-dokumentation:

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.

Bemærk: Erstat u.Primary_key og t.primary_key med den primære nøgle for user tabel.

Læs de første par afsnit http://dev.mysql.com/doc /refman/5.7/da/update.html



  1. MySQL Performance Tuning Tips til at optimere databasen

  2. MyBatis-parameter fra HashMap

  3. To indsættelser i PHP/MySQL ved hjælp af LAST_INSERT_ID() og rækker fra en anden tabel

  4. En guide til databaseautomatisering med Severalnines ClusterControl