Можем ли мы иметь имя таблицы как «option» в MySQL? - PullRequest
10 голосов
/ 29 ноября 2008

Я очень, очень плохо знаком с MYSQL. Я попытался создать таблицу с именем "option". Мой SQL-запрос:

опция создания таблицы (

id int не нулевой первичный ключ auto_increment,

выбор varchar (30)

)

При выполнении этого запроса отображается следующая ошибка

Код ошибки: 1064 У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с опцией ( id int не нулевой первичный ключ auto_increment, Выбор Варчар (30) ) 'в строке 1 (0 мс)

Если я попытаюсь с именем таблицы в качестве «выбора», она работает.

можем ли мы иметь имя таблицы как "option" в mysql?

спасибо

Ответы [ 8 ]

15 голосов
/ 29 ноября 2008

Если вы хотите иметь имя таблицы Option, вы должны иметь возможность, просто помните, что всякий раз, когда вы используете таблицу в запросе, вам придется заключать ее в символы `. Вот так.

`option`

Клавиша `в левом верхнем углу клавиатуры с тильдой.

10 голосов
/ 29 ноября 2008

Выберите другое имя (имя, которое не является зарезервированным словом в вашей RDBMS) и сохраните себя и того, кто еще может над этим поработать, много головной боли.

4 голосов
/ 30 ноября 2008

опция - зарезервированное слово в Mysql. Мы можем использовать зарезервированное слово, используя слово в одинарных кавычках.

3 голосов
/ 14 декабря 2008

Лучше выберите другое имя таблицы. В противном случае обслуживание нашего кода будет затруднено.

2 голосов
/ 29 ноября 2008

Вы можете использовать ключевые слова SQL в качестве имен таблиц в MySQL, если экранируйте их обратными кавычками.

 CREATE TABLE `option` (
     ...
 )

Обычно это не очень хорошая идея.

0 голосов
/ 25 октября 2015

Да, вы определенно можете создать таблицу с именем option, но в каждом запросе вам придется использовать

`option`

вместо простого option. Лучше немного импровизировать и создать таблицу с именем options, чтобы уберечь от неприятностей. Не используйте зарезервированные слова mysql в качестве имени таблицы или имени столбца или имени процедуры.

0 голосов
/ 29 ноября 2008

См. Документацию MySQL по этому вопросу. Вы можете сделать это следующим образом:

create table `option` (
...
)
0 голосов
/ 29 ноября 2008

опция - это зарезервированное слово в MySQL. Спасите себя от боли и используйте choice в качестве имени таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...