【发布时间】:2018-10-28 05:59:36
【问题描述】:
我在向我的数据库表中插入数据时遇到问题。我正在使用 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(最近一次调用最后一次):文件 "C:\Users\jakub\AppData\Local\Programs\Python\Python36\lib\site-packages\mysql\connector\connection_cext.py", 第 377 行,在 cmd_query 中 raw_as_string=raw_as_string) _mysql_connector.MySQLInterfaceError:您的 SQL 语法有错误;检查与您的 MariaDB 服务器相对应的手册 在 'stron)VALUES 附近使用正确语法的版本 ('12345678','wertvfdg','3','1243','213')' 在第 1 行
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 “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 行
【问题讨论】:
标签: python mysql insert mariadb