Хорошо, у меня очень простая база данных mysql, но когда я пытаюсь выполнить этот запрос через mysql-admin, я получаю странные ошибки
INSERT INTO customreports (исследование, тип, режим, выберите, описание) ЗНАЧЕНИЯ («1», «2», «3», «4», «5»);
Ошибка:
1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с «select, description) VALUES (« 1 »,« 2 »,« 3 »,« 4 »,« 5 »)» в строке 1
У вас проблемы, потому что вы используете зарезервированные слова SQL в качестве имен столбцов, а не экранируете их. Попробуйте вот так:
INSERT INTO `customreports` (`study`, `type`, `mode`, `select`, `description`) VALUES ('1', '2', '3', '4', '5');
Да, я бы переписал как:
INSERT INTO [customreports] ([study], [type], [mode], [select], [description]) VALUES ('1', '2', '3', '4', '5' );
То же самое, но я считаю, что вам нужны двойные кавычки вокруг имен столбцов, а не одиночные кавычки. Возможно, некоторые разновидности SQL будут правильно обрабатывать одинарные кавычки, но я думаю, что стандарт говорит, что двойные кавычки для имен полей, одинарные кавычки для значений полей.
Правильно для Хаоса ... но важно помнить, что вы должны сделать все возможное, чтобы НЕ использовать зарезервированные слова в качестве имен столбцов в таблице ... такие как SELECT и TYPE .... не положительный результат трех других но вот где твой конфликт. Да, явное указание кавычек вокруг полей скажет SQL, что вы имеете в виду поле внутри, но также лучше знать, ПОЧЕМУ его ошибка, а не просто обходное решение ... помогает предотвратить подобные проблемы в будущем.
Слово «выбрать» зарезервировано в sql. Интерпретатор считает, что вы пытаетесь использовать оператор SELECT внутри оператора INSERT INTO. Вам необходимо заключить имена полей, чтобы интерпретатор не считывал их как команды.
Обновление для MySQL:
insert into customreports ('study','type','mode','select','description') values...
«SELECT» - зарезервированное слово в SQL ... используйте слово, отличное от «select»
просто предположение, но зарезервированное слово "выбрать" (указано как имя столбца) вызывает проблему?