sql >> データベース >  >> RDS >> Mysql

#1221-UPDATEとORDERBYの誤った使用法

    複数のテーブルの場合、updateステートメントでorderbyとlimitを使用することはできません。

    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.
    

    注: u.Primary_keyを置き換えます およびt.primary_key userの主キーによる テーブル。

    最初の数段落を読む http://dev.mysql.com/doc /refman/5.7/en/update.html



    1. DebianとUbuntuにMariaDB10をインストールする方法

    2. Room Migration Alter Tableは新しい列を追加せず、移行は何度も呼び出されます

    3. PostgreSQLでデータベースのサイズを取得する2つの方法

    4. Laravelのシンプルな月の選択