Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để cập nhật tất cả các giá trị trong một cột với các giá trị số gia tăng như John1, John2, John3, v.v.

Để cập nhật tất cả các giá trị trong một cột thành John1, John2, v.v.; bạn cần đặt các giá trị tăng dần 1, 2, 3, v.v. và nối chúng với các bản ghi. Đầu tiên chúng ta hãy tạo một bảng -

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

Chèn một số bản ghi trong bảng bằng lệnh chèn. Ở đây, ví dụ của chúng tôi, chúng tôi đã đặt các tên tương tự -

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)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

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

Sau đây là truy vấn để cập nhật / nối tất cả các tên với các giá trị số gia tăng -

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

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

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