sql >> Databáze >  >> RDS >> Mysql

mysql aktualizuje sloupec s int na základě objednávky

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

nebo to můžete udělat v jediném dotazu

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. Sériová čísla na skupinu řádků pro složený klíč

  2. Rozdělení dat pro rozsáhlé aplikace

  3. php:Uložit obrázek do blobu Mysql, dobrý nebo špatný?

  4. Zálohujte/obnovte ukotvenou databázi PostgreSQL