0

auto_incrementがオンになっている列「id」を持つテーブルがあります。

したがって、たとえば、新しいレコードを追加すると、それに番号が割り当てられます。

しかし、必要なのは、レコードの順序を変更できる方法です。たとえば、データベースに48のレコードがあり、レコード29のIDを29ではなく5にします。したがって、レコード29を置き換える方法はありますか。 5そして彼ら全員が1つ上に移動するので、5はレコード6などになりますか?

ありがとう!

4

1 に答える 1

0

IDを自分で割り当てる必要がある場合は、自動インクリメント列を使用しないでください。

別の質問は、データベーステーブルのレコードの番号を付け直すことです。そうです、これは順序付けられた更新クエリで実行できます。

まず最初に、新しいレコード5のスペースをクリアします。

UPDATE table SET id=id+1 WHERE id > 4 ORDER BY id DESC

次に、レコード29の番号を付け直します。

UPDATE table SET id=5 WHERE id = 29
于 2013-03-09T18:17:06.033 に答える