Trong SQL Server, số nhận dạng có thể được phân tách bằng dấu ngoặc vuông, ví dụ:
SELECT [gallons/units] ...
Trong MySQL, các số nhận dạng có thể được phân tách bằng dấu gạch ngược, ví dụ:
SELECT `gallons/units` ...
(LƯU Ý:Nếu MySQL SQL_MODE
bao gồm ANSI_QUOTES
, sau đó dấu ngoặc kép được coi là dấu phân cách cho số nhận dạng, tương tự như cách Oracle xử lý dấu ngoặc kép; không có cài đặt đó, dấu ngoặc kép được xử lý như dấu phân cách cho các ký tự chuỗi. Với ANSI_QUOTES
bao gồm SQL_MODE
, "gallons/units"
sẽ được hiểu là một định danh (tên cột). Không có ANSI_QUOTES
, MySQL sẽ xem nó như một chuỗi ký tự, như thể nó được đặt trong dấu ngoặc kép.)
THEO DÕI:
Theo lỗi "operand should contain only 1 column(s)"
, đó thường là vấn đề với ngữ nghĩa truy vấn, không phải vấn đề với số nhận dạng thoát.
Ví dụ:một truy vấn con trong danh sách CHỌN chỉ có thể trả về một biểu thức duy nhất, điều này sẽ gây ra lỗi:
Query: SELECT 'foo' , ( SELECT 'fee' AS fee, 'fi' AS fi )
Error Code: 1241
Operand should contain 1 column(s)