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

Khác biệt giữa toán tử gán = và := trong MySQL

Cả hai đều là toán tử gán nhưng khác ngữ cảnh:

  • =: gán giá trị trong SET hoặc mệnh đề SET của UPDATE. Ở ngữ cảnh khác, = được hiểu là toán tử so sánh.
  • :=: gán giá trị ở mọi ngữ cảnh, không bao giờ bị hiểu là so sánh.

Ví dụ

Trong UPDATE (cả hai giống nhau):

mysql> UPDATE estimated_cost1 SET Tender_value = '8570.000' WHERE id = 2;
mysql> UPDATE estimated_cost1 SET Tender_value := '8575.000' WHERE id = 2;

Gán biến user (cả hai giống nhau):

mysql> SET @A = 100;    -- OK
mysql> SET @B := 100;  -- OK

Nhưng trong SELECT:

mysql> SELECT @A = @B;   -- SO SÁNH: trả về 1 (true) vì @A=@B=100
+---------+
| @A = @B |
+---------+
| 1       |
+---------+

Dùng := trong SELECT để gán: SELECT @C := @A + @B;.