У меня проблема с вставкой данных в таблицу базы данных. Я использую Python и MariaDB. Соединение с базой данных открыто и проверено, я могу запросить базу данных, но не могу определить синтаксис вставки. Я нашел два пути, но ни один из них не работает.
insert = (
"INSERT INTO ksiazka (ISBN, tytul, autor, rok_wydania, ilosc stron)"
"VALUES (%s,%s,%s,%s,%s)"
)
dane = (ISBN, tytul, autor, rok_wydania, ilosc_stron)
cursor.execute(insert, dane)
или так:
cursor.execute("INSERT INTO ksiazka (ISBN, tytul, autor, rok_wydania, ilosc stron) VALUES (%s,%s,%s,%s,%s)", (ISBN, tytul, autor, rok_wydania, ilosc_stron))
При выполнении я получаю эту ошибку:
Traceback (последний вызов был последним): File
"C: \ Users \ Якуб \ AppData \ Local \ Programs \ Python \ Python36 \ Lib \ сайт-пакеты \ MySQL \ разъем \ connection_cext.py",
строка 377, в cmd_query
raw_as_string = raw_as_string)
_mysql_connector.MySQLInterfaceError: у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашему серверу MariaDB
версия правильного синтаксиса для использования около 'stron) ЗНАЧЕНИЯ
('12345678', 'wertvfdg', '3', '1243', '213') 'в строке 1
Во время обработки вышеуказанного исключения произошло другое исключение:
Traceback (последний вызов был последним): File
«C: /Users/jakub/PycharmProjects/biblioteka/sql_connector.py», строка 57,
в
cursor.execute (insert, dane) Файл "C: \ Users \ jakub \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ mysql \ connector \ cursor_cext.py",
строка 264, в исполнении
raw_as_string = self._raw_as_string) Файл "C: \ Users \ jakub \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ mysql \ connector \ connection_cext.py",
строка 380, в cmd_query
sqlstate = exc.sqlstate) mysql.connector.errors.ProgrammingError: 1064 (42000): в синтаксисе SQL имеется ошибка; проверить руководство
что соответствует вашей версии сервера MariaDB для правильного синтаксиса
использовать около 'stron) VALUES (' 12345678 ',' wertvfdg ',' 3 ',' 1243 ',' 213 ')' в
строка 1