【MySQL】UPDATEで並び順フィールドをきれいに振りなおす。


自分用のメモです。
いつの間にか、並び順の枠がなくなっていて、並び順の管理がしにくくなると思います。
下記のSQLで並び順を維持して番号を振りなおす。

■やり方

#下記は10間隔で振りなおしている。
#並び順列「sort」フィールドに新しい番号を入れる。
#orderbyで更新順を更新前のsortの昇順にする。
begin;
set @count:=0;
update hogetable set sort = (@count := @count + 10 ) order by sort;
commit;

割とスマートにできてぱっと見のクエリもわかりやすいです。

以上。