sql >> Databasteknik >  >> RDS >> Mysql

#1221 - Felaktig användning av UPDATE och ORDER BY

Du kan inte använda order by och limit i uppdateringssatsen i fallet med flera tabeller.

Citerar från 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.

Obs! Ersätt u.Primary_key och t.primary_key med primärnyckeln för user bord.

Läs de första styckena http://dev.mysql.com/doc /refman/5.7/en/update.html



  1. MariaDB SESSION_USER() Förklarad

  2. Hur använder man Enums i Scala Slick?

  3. Skapa och ta bort en PostgreSQL-databas på Ubuntu 16.04

  4. radera filen med MySQL-proceduren