Mysql супер странная синтаксическая ошибка? - PullRequest
1 голос
/ 28 апреля 2011
INSERT INTO pmessage (content, time, sent_by, to) VALUES ('k', '0000-00-00 00:00:00', 84, 1);

У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом со значениями «to» («tt», «2011-04-28 14:04:45», 84, 1) »в строке 1

Проблема в том, что я не вижу ничего плохого в моем синтаксисе. В именах столбцов нет ничего плохого, мы пробовали много раз. Мы копировали / вставляли точную команду вставки из Интернета несколько раз, чем редактировали, и все же мы получили ту же ошибку.

У кого-нибудь есть идеи? Сервер MySQL 5

Ответы [ 5 ]

2 голосов
/ 28 апреля 2011

TO - зарезервированное слово. Смотрите здесь: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html.

Попробуйте вместо этого:

INSERT INTO pmessage (content, time, sent_by, `to`)
VALUES ('k', '0000-00-00 00:00:00', 84, 1);
2 голосов
/ 28 апреля 2011

to - ключевое слово MySQL.Вы не можете просто так использовать это бесплатно.Попробуйте [to]

1 голос
/ 28 апреля 2011

Обернуть "в" в кавычки

INSERT INTO pmessage (content, time, sent_by, `to`) VALUES ('k', '0000-00-00 00:00:00', 84, 1);
1 голос
/ 28 апреля 2011

to является словом резервирования: http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

1 голос
/ 28 апреля 2011

Ваша проблема в том, что to - это зарезервированное в MySQL слово , поэтому вам нужно его заключить в кавычки.

...