Поле desc и Error Number: 1064 mysql

Тема в разделе "Базы данных", создана пользователем danneo, 20 ноя 2013.

Модераторы: latteo
  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    Долбился с ошибкой при выполнении UPDATE. В таблице было поле 'desc'. CMS DLE ругалась постоянно на это поле, типа синтаксис: Error Number: 1064 mysql.
    Через пару часов страданий и экспериментов решил прописать "таблица.desc". И запрос прошел хорошо.
    Вопрос. Что за ерунда была?
    Конкретнее:
    Код:
    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'
     
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.035
    Симпатии:
    2.034
    Писать надо в кавычках ` - это верный синтаксис 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';
     
    danneo нравится это.