sql >> Databasteknik >  >> RDS >> Mysql

mysql uppdatera en kolumn med en int baserat på beställning

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

eller för att göra det i en enda fråga kan du försöka

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. mssql konvertera varchar till float

  2. MySQL-drivrutin för Rails i Windows 7 x64

  3. ADO.NET-leverantören 'Oracle.ManagedDataAccess.Client' är antingen inte registrerad i maskinens eller programmets konfigurationsfil eller kunde inte laddas

  4. PHP binder ett jokertecken