MySQL のシーケンス番号を使用した列の更新
現在のタスクでは、一連のレコードをシーケンス番号で更新し、次のようなデータセットを変換する必要があります。これ:
Name | Number |
---|---|
Joe | Null |
Michael | Null |
Moses | Null |
次のようなものにthis:
Name | Number |
---|---|
Joe | 1 |
Michael | 2 |
Moses | 3 |
これを MySQL の 1 つの SQL コマンドで実現するには、次の手順に従います:
解決策:
SET @rank := 0; UPDATE T SET Number = @rank := @rank + 1;
代替解決策:
UPDATE T JOIN (SELECT @rank := 0) r SET Number = @rank := @rank + 1;
両方ソリューションを実行すると、連続番号が生成され、@rank 変数を使用して Number 列に割り当てられます。この手法は、単一の SQL 操作でレコードに一意の順序付けされた値を割り当てるのに役立ち、MySQL での連続番号付けを管理する簡単かつ効率的な方法になります。
以上が単一の SQL コマンドを使用して MySQL の行に連番を割り当てる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。