Để 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)