Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cập nhật cột MySQL bằng cách nối giá trị từ biến người dùng

Sử dụng biến @ten_bien trong mệnh đề SET của UPDATE để cộng/gán giá trị động.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1349 (
    ProductId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ProductPrice INT
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable1349(ProductPrice) VALUES(7644), (90843), (9083), (10000);

Xem dữ liệu:

mysql> SELECT * FROM DemoTable1349;
+-----------+--------------+
| ProductId | ProductPrice |
+-----------+--------------+
| 1         | 7644         |
| 2         | 90843        |
| 3         | 9083         |
| 4         | 10000        |
+-----------+--------------+

Gán biến và cập nhật hàng ProductId=4 (cộng 500):

mysql> SET @AppendValue := 500;
mysql> UPDATE DemoTable1349 SET ProductPrice = ProductPrice + @AppendValue WHERE ProductId = 4;

Kết quả (hàng 4: 10000 → 10500):

mysql> SELECT * FROM DemoTable1349;
+-----------+--------------+
| ProductId | ProductPrice |
+-----------+--------------+
| 1         | 7644         |
| 2         | 90843        |
| 3         | 9083         |
| 4         | 10500        |
+-----------+--------------+

Mẹo: Biến @AppendValue có thể tính toán từ truy vấn khác: SET @AppendValue := (SELECT AVG(Price) FROM Products);.