Để cập nhật các giá trị tăng dần trong MySQL, bạn cần tạo một biến với sự trợ giúp của lệnh SET. Cú pháp để tạo một biến như sau -
set @anyVariableName := 0;
Để cập nhật giá trị, bạn cần sử dụng lệnh UPDATE. Hãy bắt đầu với việc tạo một bảng. Truy vấn tạo bảng -
mysql> create table UpdateValueIncrementally −> ( −> ProductId int −> ); Query OK, 0 rows affected (0.90 sec)
Chèn bản ghi trong bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -
mysql> insert into UpdateValueIncrementally values(10); Query OK, 1 row affected (0.15 sec) mysql> insert into UpdateValueIncrementally values(100); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateValueIncrementally values(1000); Query OK, 1 row affected (0.09 sec) mysql> insert into UpdateValueIncrementally values(110); Query OK, 1 row affected (0.17 sec) mysql> insert into UpdateValueIncrementally values(102); Query OK, 1 row affected (0.11 sec)
Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -
mysql> select *from UpdateValueIncrementally;
Sau đây là kết quả -
+-----------+ | ProductId | +-----------+ | 10 | | 100 | | 1000 | | 110 | | 102 | +-----------+ 5 rows in set (0.00 sec)
Sau đây là truy vấn để cập nhật các giá trị tăng dần -
mysql> set @incrementValue := 33333; Query OK, 0 rows affected (0.00 sec)
Một biến được tạo ở trên và giá trị được khởi tạo thành 33333. Sau đây là truy vấn để cập nhật các giá trị và tăng dần -
mysql> update UpdateValueIncrementally set ProductId = (select @incrementValue := @incrementValue + @incrementValue); Query OK, 5 rows affected (0.21 sec) Rows matched: 5 Changed: 5 Warnings: 0
Trong truy vấn trên, tôi đã tăng giá trị với giá trị hiện tại là @incrementValue. Bây giờ bạn có thể kiểm tra xem giá trị có được cập nhật hay không -
mysql> select *from UpdateValueIncrementally;
Sau đây là kết quả -
+-----------+ | ProductId | +-----------+ | 66666 | | 133332 | | 266664 | | 533328 | | 1066656 | +-----------+ 5 rows in set (0.00 sec)