Синтаксическая ошибка Mysql во время обновления, но код выглядит хорошо - PullRequest
0 голосов
/ 20 сентября 2011

У меня странная проблема с обновлением Mysql, и я не уверен, что его вызывает.Я подозреваю, что что-то не так с самой таблицей, но поле, вызывающее ошибку, похоже, определено так же, как и другие поля в таблице.Я могу воссоздать ошибку в phpMyAdmin на вкладке SQL, а также в коде php.Я полностью в тупике.Поля в таблице определены следующим образом:

bnumber is INT length=11
bname is VARCHAR length=60 Collation=latin1_swedish_ci
twittername is VARCHAR length=15 Collation=latin1_swedish_ci
desc is VARCHAR length=60 Collation=latin1_swedish_ci

Этот оператор обновления работает:

update tbl1 set bname='myName', twittername='myTweet' where bnumber=1;

этот выводит мне ошибку:

update tbl1 set bname='myName', twittername='myTweet', desc='test' where bnumber=1;

я получаю сообщение об ошибке:

#1064 - 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='Main' where bnumber=1' at line 1.

У меня нет проблем с выбором таблицы или вставкой в ​​таблицу.Только обновление дает мне ошибку.

Я ценю любую помощь.

Спасибо!

Ответы [ 4 ]

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

desc - зарезервированное слово в MySQL.Вы должны заключить это в кавычки.

2 голосов
/ 20 сентября 2011

desc является ключевым словом.Побег с обратными метками.

update tbl1 
    set bname='myName', 
        twittername='myTweet', 
        `desc`='test' 
    where bnumber=1;
1 голос
/ 20 сентября 2011

desc - зарезервированное слово в mysql

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

Обновил ваш sql, как показано ниже, и он будет работать нормально;

update tbl1 set bname='myName', twittername='myTweet', `desc`='test'
where bnumber=1;
0 голосов
/ 20 сентября 2011

вы не можете использовать desc в качестве имени поля. измените имя поля на desc1 и попробуйте.

desc для oder by name desc

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