ウェブサイト検索

John1、John2、John3 などの増分数値を使用してカラム内のすべての値を更新する MySQL クエリ。


列内のすべての値を John1、John2 などに更新するには。増分値 1、2、3 などを設定し、それらをレコードに連結する必要があります。まずテーブルを作成しましょう。

mysql> create table DemoTable
(
   StudentId varchar(80)
);
Query OK, 0 rows affected (0.50 sec)

insert コマンドを使用してテーブルにいくつかのレコードを挿入します。ここでは例として、類似した名前を設定しています。

mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.08 sec)

select ステートメントを使用してテーブルのすべてのレコードを表示します。

mysql> select *from DemoTable;

これにより、次の出力が生成されます。

+-----------+
| StudentId |
+-----------+
|      John |
|      John |
|      John |
|      John |
|      John |
+-----------+
5 rows in set (0.00 sec)

以下は、すべての名前を数値増分値で更新/連結するクエリです。

mysql> update DemoTable,(select @row := 0) r set StudentId =concat('John',@row := @row+ 1);
Query OK, 5 rows affected (0.11 sec)
Rows matched: 5 Changed: 5 Warnings: 0

テーブルのレコードをもう一度確認してみましょう。

mysql> select *from DemoTable;

これにより、次の出力が生成されます。

+-----------+
| StudentId |
+-----------+
|     John1 |
|     John2 |
|     John3 |
|     John4 |
|     John5 |
+-----------+
5 rows in set (0.00 sec)

関連記事: