【MySQL】UPDATEで並び順フィールドをきれいに振りなおす。
自分用のメモです。
いつの間にか、並び順の枠がなくなっていて、並び順の管理がしにくくなると思います。
下記のSQLで並び順を維持して番号を振りなおす。
■やり方
#下記は10間隔で振りなおしている。
#並び順列「sort」フィールドに新しい番号を入れる。
#orderbyで更新順を更新前のsortの昇順にする。
begin;
set @count:=0;
update hogetable set sort = (@count := @count + 10 ) order by sort;
commit;
#下記は10間隔で振りなおしている。
#並び順列「sort」フィールドに新しい番号を入れる。
#orderbyで更新順を更新前のsortの昇順にする。
begin;
set @count:=0;
update hogetable set sort = (@count := @count + 10 ) order by sort;
commit;
割とスマートにできてぱっと見のクエリもわかりやすいです。
以上。
Author And Source
この問題について(【MySQL】UPDATEで並び順フィールドをきれいに振りなおす。), 我々は、より多くの情報をここで見つけました https://qiita.com/msht0511/items/0bf903671aecfaa347b0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .