2014-09-19 4 views
1

Я смущен, почему этот простой запрос sql получает синтаксическую ошибку. Есть binary зарезервированное слово? Если да, то как мне с этим справиться?Как простой запрос «select binary from agents» имеет синтаксическую ошибку?

show tables 
+-------------------------------+ 
| Tables_in_neutron    | 
+-------------------------------+ 
| agents      | 
       ... 
| vips       | 
+-------------------------------+ 
desc agents 
+---------------------+---------------+------+-----+---------+-------+ 
| Field    | Type   | Null | Key | Default | Extra | 
+---------------------+---------------+------+-----+---------+-------+ 
| id     | varchar(36) | NO | PRI | NULL |  | 
| agent_type   | varchar(255) | NO |  | NULL |  | 
| binary    | varchar(255) | NO |  | NULL |  | 
| topic    | varchar(255) | NO |  | NULL |  | 
| host    | varchar(255) | NO |  | NULL |  | 
| admin_state_up  | tinyint(1) | NO |  | NULL |  | 
| created_at   | datetime  | NO |  | NULL |  | 
| started_at   | datetime  | NO |  | NULL |  | 
| heartbeat_timestamp | datetime  | NO |  | NULL |  | 
| description   | varchar(255) | YES |  | NULL |  | 
| configurations  | varchar(4095) | NO |  | NULL |  | 
+---------------------+---------------+------+-----+---------+-------+ 
select binary from agents 
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from agents' at line 1 

Благодаря

+1

'ВЫБРАТЬ \' \ 'двоичной FROM \' агентов \ ',' бы ответить на ваш вопрос ... – Sebas

+1

Binary типа. http://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html –

ответ

1

Да, BINARY является зарезервированным словом. Это тип данных, с которыми связан @BenaminS.

Вы можете использовать зарезервированные слова, разделив их на обратные кавычки (или двойные кавычки, если вы установите SQL_MODE = ANSI или ANSI_QUOTES). Разграниченные идентификаторы также позволяют использовать специальные символы и пробелы в ваших идентификаторах.

Вы можете проверить список зарезервированных слов MySQL здесь: http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html

Смежные вопросы