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

mysqlは、順序に基づいてintで列を更新します

    SET @rownumber = 0;    
    update mytable set Moneyorder = (@rownumber:[email protected]+1)
    order by MoneyOrder asc
    

    または、単一のクエリでそれを行うには、試すことができます

    update mytable target
    join
    (
         select id, (@rownumber := @rownumber + 1) as rownum
         from mytable         
         cross join (select @rownumber := 0) r
         order by MoneyOrder asc
    ) source on target.id = source.id    
    set Moneyorder = rownum
    


    1. データベースからテーブル行をエコーアウトする方法(php)

    2. 文字列内のMySQLの2番目(または3番目)のインデックス

    3. SQL Serverのsys.objects、sys.system_objects、およびsys.all_objectsの違い

    4. スクリプトが機能する場合、Postgres now()のタイムスタンプは変更されません