Di SQL Server, pengidentifikasi dapat dibatasi menggunakan tanda kurung siku, mis.
SELECT [gallons/units] ...
Di MySQL, pengidentifikasi dapat dibatasi menggunakan backticks, mis.
SELECT `gallons/units` ...
(CATATAN:Jika MySQL SQL_MODE
termasuk ANSI_QUOTES
, kemudian tanda kutip ganda diperlakukan sebagai pembatas untuk pengidentifikasi, mirip dengan cara Oracle menangani tanda kutip ganda; tidak ada pengaturan itu, tanda kutip ganda ditangani sebagai pembatas untuk literal string. Dengan ANSI_QUOTES
termasuk SQL_MODE
, "gallons/units"
akan ditafsirkan sebagai pengenal (nama kolom). Tanpa ANSI_QUOTES
, MySQL akan melihatnya sebagai string literal, seolah-olah diapit oleh tanda kutip tunggal.)
TINDAK LANJUT:
Sejauh kesalahan "operand should contain only 1 column(s)"
, itu biasanya masalah dengan semantik kueri, bukan masalah dengan meloloskan pengenal.
Subquery dalam daftar SELECT hanya dapat mengembalikan satu ekspresi, misalnya, ini akan menimbulkan kesalahan:
Query: SELECT 'foo' , ( SELECT 'fee' AS fee, 'fi' AS fi )
Error Code: 1241
Operand should contain 1 column(s)