sql >> Database teknologi >  >> RDS >> Mysql

mysql opdatere en kolonne med en int baseret på rækkefølge

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

eller for at gøre det i en enkelt forespørgsel, kan du prøve

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. Markørbaseret postdatatype med markør, der returnerer flere værdier i Oracle-databasen

  2. Hvordan opretter man en PostgreSQL-partitioneret sekvens?

  3. cursor.execute(INSERT INTO im_entry.test (+entrym+) VALUES ('+p+');)

  4. Identifikation og reparation af fremsendte posters ydeevneproblem