#mysql #sql #syntax #insert #insert-into
#mysql #sql #синтаксис #вставить #вставить-в
Вопрос:
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
Проблема в том, что я не вижу ничего неправильного в моем синтаксисе. В именах столбцов и т.д. нет ничего плохого, мы пробовали много раз. Мы скопировали / вставили точную команду insert из Интернета несколько раз, чем отредактировали, и все равно получили ту же ошибку.
У кого-нибудь есть идеи? Сервер — это сервер MySQL 5
Комментарии:
1. Конкуренция на SO жестокая. 4 ответа в течение минуты 😉
Ответ №1:
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:
to
это ключевое слово MySQL. Вы не можете просто использовать его бесплатно вот так. Попробуйте [to]
Комментарии:
1. Да, отступы. В скобках указан MS SQL, моя ошибка.
2. используйте обратные знаки, а не квадратные скобки
Ответ №3:
Ваша проблема в том, что to
это зарезервированное слово MySQL, поэтому вам нужно будет заключить его в кавычки.
Ответ №4:
to
является ли резервирующим словом:http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html
Ответ №5:
Перенесите «в» в обратные строки
INSERT INTO pmessage (content, time, sent_by, `to`) VALUES ('k', '0000-00-00 00:00:00', 84, 1);