Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uciekasz przed ukośnikiem w nazwie SQL? Można go ominąć, ale SQL uważa, że ​​jest to wiele kolumn

W SQL Server identyfikatory można rozdzielać za pomocą nawiasów kwadratowych, np.

SELECT [gallons/units] ...

W MySQL identyfikatory można rozgraniczać za pomocą backticków, np.

SELECT `gallons/units` ...

(UWAGA:Jeśli MySQL SQL_MODE zawiera ANSI_QUOTES , podwójne cudzysłowy są traktowane jako ograniczniki identyfikatorów, podobnie jak Oracle obsługuje podwójne cudzysłowy; bez tego ustawienia podwójne cudzysłowy są traktowane jako ograniczniki dla literałów łańcuchowych. Z ANSI_QUOTES zawiera SQL_MODE , "gallons/units" będzie interpretowany jako identyfikator (nazwa kolumny). Bez ANSI_QUOTES , MySQL zobaczy go jako literał ciągu, jakby był ujęty w pojedyncze cudzysłowy.)

KONTYNUACJA:

Jeśli chodzi o błąd, "operand should contain only 1 column(s)" , zwykle jest to problem z semantyką zapytań, a nie z unikaniem identyfikatorów.

Podzapytanie na liście SELECT może zwrócić tylko jedno wyrażenie, na przykład spowoduje to zgłoszenie błędu:

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. Wstawianie z MS SQL Server do bazy danych MySQL

  2. Zaktualizuj bazę danych za pomocą wielu instrukcji SQL

  3. php mysqli_connect:metoda uwierzytelniania nieznana klientowi [caching_sha2_password]

  4. Powolne zapytanie podczas korzystania z ORDER BY

  5. Optymalizacja wyszukiwania MySQL za pomocą polubień i symboli wieloznacznych