連続していない値を持つ MySQL プライマリ インデックスの番号を昇順に再番号付けするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-25 11:26:30
オリジナル
708 人が閲覧しました

How can I renumber a MySQL primary index with non-sequential values in ascending order?

秩序あるデータのプライマリ インデックスの再番号付け

質問:

次のような MySQL テーブルがあります。値に連続番号が付けられていないプライマリ インデックス。どうすれば順番 (1、2、3、...) に番号を付け直すことができますか?

答え:

他の方法も利用できますが、ここでは別の方法を紹介します。一時テーブルを作成する必要はありません。

解決策:

次の SQL ステートメントを実行します。

<code class="sql">SET @i=0;
UPDATE table_name SET column_name=(@i:=@i+1);</code>
ログイン後にコピー

説明:

  • 最初の行は、セッション変数 @i を 0 に初期化します。
  • 2 行目は、table_name という名前のテーブルに対して UPDATE クエリを実行します。
  • UPDATE 内クエリでは、SET 句によって新しい値がプライマリ インデックス列 column_name に割り当てられます。
  • 新しい値は、セッション変数 @i を 1 ずつ増分することによって計算されます。
  • クエリが実行されると、@ i 変数はインクリメントを続け、プライマリ インデックス値が順番に再番号付けされるようにします。

以上が連続していない値を持つ MySQL プライマリ インデックスの番号を昇順に再番号付けするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!