sql >> Database >  >> RDS >> Mysql

#1221 - Onjuist gebruik van UPDATE en ORDER BY

U kunt de volgorde van en de limiet niet gebruiken in de update-instructie in het geval van meerdere tabellen.

Citeren uit MySQL-documentatie:

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.

Opmerking: Vervang u.Primary_key en t.primary_key door de primaire sleutel van user tafel.

Lees de eerste paar alinea's http://dev.mysql.com/doc /refman/5.7/nl/update.html



  1. Meerdere kolommen in MATCH TEGEN

  2. PHP mySQL - Kunt u een bijbehorende array retourneren met een nummerindex?

  3. Hoe voer ik PHP uit dat is opgeslagen in een MySQL-database?

  4. SQL Server 2016:een database herstellen