Поле desc и Error Number: 1064 mysql

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Долбился с ошибкой при выполнении UPDATE. В таблице было поле 'desc'. CMS DLE ругалась постоянно на это поле, типа синтаксис: Error Number: 1064 mysql.
Через пару часов страданий и экспериментов решил прописать "таблица.desc". И запрос прошел хорошо.
Вопрос. Что за ерунда была?
Конкретнее:
The Error returned was:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc = 'Описание Узи сосудов шеи', ' at line 8
Код:
SQL query:

UPDATE dle_mod_category SET parentid = '1', posi = '2', name = 'Узи сосудов шеи', alt_name = 'uzi-sosudov-shei', ico = '123.jpeg', keywords = 'Мета-Ключи Узи сосудов шеи2', desc = 'Описание Узи сосудов шеи', firm_sort = 'asc', firm_number = '5', metatitle = 'Свой загловок Узи сосудов шеи', text_cat = 'Текст категории Узи сосудов шеи Текст категории Узи сосудТекст категории Узи сосТекст категории Узи сосудов шеи удов шТекст категории УТекст категории Узи сосудов шеи зиТекст категории Узи сосудов шеи сосудов шеи еи оТ', count_firms = '0' WHERE id = '5'
 
Писать надо в кавычках ` - это верный синтаксис SQL и гарантия успешного запроса. Писать без кавычек MySQL допускает, но не всегда. В данном случае DESC - служебное слово, используется для сортировки в обратном направлении (ORDER BY `id` DESC). Кавычка показывает серверу, что далее идёт не служебное слово. Верный запрос будет такой:
Код:
UPDATE `dle_mod_category SET `parentid` = '1', `posi` = '2', `name` = 'Узи сосудов шеи', `alt_name` = 'uzi-sosudov-shei', `ico` = '123.jpeg', `keywords` = 'Мета-Ключи Узи сосудов шеи2', `desc` = 'Описание Узи сосудов шеи', `firm_sort` = 'asc', `firm_number` = '5', `metatitle` = 'Свой загловок Узи сосудов шеи', `text_cat` = 'Текст категории Узи сосудов шеи Текст категории Узи сосудТекст категории Узи сосТекст категории Узи сосудов шеи удов шТекст категории УТекст категории Узи сосудов шеи зиТекст категории Узи сосудов шеи сосудов шеи еи оТ', `count_firms` = '0' WHERE `id` = '5';
 
Назад
Сверху