Trong mệnh đề SET của UPDATE, bạn có thể dùng biểu thức toán học trực tiếp trên các cột để tính toán và lưu kết quả vào cột khác.
Ví dụ minh họa
Tạo bảng có sẵn 2 cột số và 4 cột kết quả:
mysql> CREATE TABLE DemoTable (
Number1 INT,
Number2 INT,
AddResult INT,
MinusResult INT,
MultiplyResult INT,
DivideResult INT
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(40, 20);
Xem dữ liệu ban đầu (kết quả NULL):
mysql> SELECT * FROM DemoTable;
+---------+---------+-----------+-------------+----------------+--------------+ | Number1 | Number2 | AddResult | MinusResult | MultiplyResult | DivideResult | +---------+---------+-----------+-------------+----------------+--------------+ | 40 | 20 | NULL | NULL | NULL | NULL | +---------+---------+-----------+-------------+----------------+--------------+
Cập nhật 4 phép toán:
mysql> UPDATE DemoTable SET AddResult = (Number1 + Number2); mysql> UPDATE DemoTable SET MinusResult = (Number1 - Number2); mysql> UPDATE DemoTable SET MultiplyResult = (Number1 * Number2); mysql> UPDATE DemoTable SET DivideResult = (Number1 / Number2);
Kiểm tra lại:
mysql> SELECT * FROM DemoTable;
Kết quả
+---------+---------+-----------+-------------+----------------+--------------+ | Number1 | Number2 | AddResult | MinusResult | MultiplyResult | DivideResult | +---------+---------+-----------+-------------+----------------+--------------+ | 40 | 20 | 60 | 20 | 800 | 2 | +---------+---------+-----------+-------------+----------------+--------------+
Mẹo: Có thể gộp 4 câu UPDATE thành 1: UPDATE DemoTable SET AddResult=Number1+Number2, MinusResult=Number1-Number2, ....