我经常使用pymysql将数据插入MySQL Server。
插入字符串时,我通常(但不是每次)会收到:pymysql.err.programmingerror :( 1064,...)当我使用代码插入字符串时(其中涉及varchar):
cursor.execute("Insert into table (column) values (%s)", (stringVar))
通常我必须做类似:
的事情cursor.execute("Insert into table (column) values ('"+stringVar+"')"))
但是,有时会引发相同的错误,我必须做类似的事情:
stringVar="'"+stringVar
stringVar=stringVar+"'"
cursor.execute("Insert into table (column) values ("+stringVar+")")
这只是编程此操作的可行方法。
我假设我正在弄乱一些简单的东西,但我无法弄清楚这是什么。我经常使用pymysql,这个错误确实开始磨损。任何帮助将不胜感激!
cursor.execute('INSERT INTO table (column) VALUES (?)', (stringVar,))
每当您试图将字符串直接格式化为这样的查询时,基本上总是一个标志,您在做错事。我知道的每个Python数据库界面都有一种将参数传递给上述查询的方法。请注意,需要在峰值中包含stringVar
。