Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thoát khỏi dấu gạch chéo trong tên SQL? Nó có thể được thoát, nhưng SQL tin rằng nó là nhiều cột

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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Theo dõi bảng MySQL để biết các thay đổi trong chương trình C #?

  2. thời gian trôi qua với tạm dừng logic mysql TIMEDIFF () và PHP

  3. Lưu trữ Apache, MySQL và PHP với Docker

  4. Giới hạn số lần đăng nhập không thành công

  5. So sánh MongoDB, MySQL và PostGreSQL