Mysql
 sql >> база данни >  >> RDS >> Mysql

Бягство от наклонена черта в SQL име? Може да бъде екраниран, но SQL смята, че това са няколко колони

В SQL Server идентификаторите могат да бъдат разделени с квадратни скоби, напр.

SELECT [gallons/units] ...

В MySQL идентификаторите могат да бъдат разграничени с обратни отметки, напр.

SELECT `gallons/units` ...

(ЗАБЕЛЕЖКА:Ако MySQL SQL_MODE включва ANSI_QUOTES , тогава двойните кавички се третират като разделители за идентификатори, подобно на начина, по който Oracle обработва двойните кавички; при липса на тази настройка, двойните кавички се обработват като разделители за низови литерали. С ANSI_QUOTES включен SQL_MODE , "gallons/units" ще се интерпретира като идентификатор (име на колона). Без ANSI_QUOTES , MySQL ще го види като низов литерал, сякаш е ограден в единични кавички.)

ПОСЛЕДВАНЕ:

Що се отнася до грешка "operand should contain only 1 column(s)" , това обикновено е проблем със семантиката на заявката, а не проблем с екраниращите идентификатори.

Подзаявка в списъка SELECT може да върне само един израз, например, това би извело грешка:

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. Филтрирайте MYSQL заявка с опции за формуляр

  2. Попълване на падащ списък от данни на MySQL колони

  3. Django двойно кодира ли Unicode (utf-8?) низ?

  4. Как мога да сортирам резултат от mysql по списък с приоритетни идентификатори?

  5. Код на грешка:2013. Загубена връзка с MySQL сървър по време на заявка