Не могу использовать имя столбца "desc" в MySQL - PullRequest
6 голосов
/ 20 ноября 2011
INSERT INTO movie (id, title, desc, released, views, featured) VALUES ('', 'title', '
\r\n    description
\r\n', '2006-12-12', '0', '0')

ошибка

1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'desc, release, views, featured) VALUES (' ',' title ',' \ r \ n description \ r \ n ',' в строке1

структура таблицы

id [ (pk, auto_inc) int(11) ]
title [ varchar(256) ]
desc [ text ]
released [ date ]
views [ int(11) ]
featured [ int(11) ]

работает в редакторе phpmyadmin sql

Ответы [ 3 ]

15 голосов
/ 20 ноября 2011

desc - это mysql зарезервированное слово .вы должны использовать обратные символы `` со столбцами, которые являются зарезервированными словами.

INSERT INTO movie (id, title, `desc`, released, views, featured)...

Вам следует избегать использования зарезервированных слов в качестве имени столбца или использовать обратные символы (``)

4 голосов
/ 20 ноября 2011

Слово desc является зарезервированным словом и должно быть в обратных чертах при использовании в качестве имени столбца.

INSERT INTO movie (id, title, `desc`, released, views, featured) VALUES
-- ...etc...

Я бы также советовал вам не использовать desc в качестве названия столбца в будущем, поскольку это сбивает с толку и просто вызовет проблемы.Например, вместо этого вы можете использовать description.

3 голосов
/ 20 ноября 2011

DESC - зарезервированное слово MySQL, и если вы используете его для именования, подумайте об использовании `desc`.

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