1

私は現在いくつかのmySQL/PHPを実行していますが、1つの小さな問題で立ち往生しています。ユーザーがたとえばid4を削除すると、3と5の並べ替えの間にギャップが生じます。したがって、3を1で並べ替えた後、すべての並べ替え番号を-(マイナス)する必要があると思います。

Mysqlでそれを行うにはどうすればよいですか?:)私はそれが次のようなものになるだろうと思いましたが、それがうまくいかなかったことに気づきました。

UPDATE menucard_category_content SET number_value = number_value-1 AFTER number_value=$sortnr

テーブルのレイアウトは次のようになります。

ID - NAME - SORT - IMAGE
1, pizza, 1, url
2, pizza, 2, url
3, pizza, 3, url
4, pizza, 4, url
7, pizza, 5, url
9, pizza, 6, url

よろしく、サイモン

4

1 に答える 1

1

UPDATEステートメントでそれを行うことができます:

UPDATE yourtable
SET sort = sort - 1
WHERE sort > 3
于 2012-11-22T10:35:21.987 に答える