Почему возникает ошибка #1064 при попытке выполнить SQL запрос INSERT INTO в MySQL?

Почему возникает ошибка 1064 при выполнении запроса SQL INSERT INTO?
  • 10 октября 2023 г. 9:27
Ответы на вопрос 2
Ошибка #1064 в MySQL возникает в случае некорректного синтаксиса SQL запроса. Несколько наиболее распространенных причин возникновения этой ошибки:

1. Отсутствие или неправильное использование кавычек: обычно это происходит, когда имена столбцов или значения строк не заключены в кавычки, либо используются неправильные типы кавычек (например, двойные кавычки вместо одинарных или наоборот). В результате сервер MySQL не может распознать запрос и возникает ошибка #1064.

2. Неправильное использование зарезервированных слов: некоторые слова являются зарезервированными в SQL и имеют специальное предназначение. Если вы используете такое слово в качестве имени столбца или значения, вам нужно заключать его в обратные кавычки (`), чтобы сервер MySQL не ошибочно интерпретировал его как команду SQL.

3. Нарушение правил синтаксиса: это может быть вызвано использованием неправильного порядка ключевых слов, например, указание значений перед указанием столбцов в запросе INSERT INTO.

4. Неправильные типы данных или значения: сервер MySQL может отклонить запрос, если вы пытаетесь вставить некорректные типы данных или значения в столбцы, требующие определенного типа данных.

В целом, ошибка #1064 указывает на некорректный синтаксис запроса, и решение проблемы заключается в исправлении ошибок в запросе.
query = f'''insert into adress_book(Имя,Фамилия,Номер_телефона,Адресс_электронной_почты)
                            values(%s,%s,%s,%s)'''
run_sql_insert.run_sql_insert(query, new_contact)

Аргумент `new_contact` должен быть кортежем.
Похожие вопросы