使用PyMySQL将字符串插入MySQL时出现语法错误

时间:2017-11-19 22:57:29

标签: python mysql pymysql

我经常使用pymysql将数据插入MySQL服务器。

插入字符串时,我通常(但不是每次都)收到: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,这个错误真的开始在我身上穿了。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

cursor.execute('INSERT INTO table (column) VALUES (?)', (stringVar,))

每当您尝试将字符串直接格式化为类似的查询时,它基本上总是表明您做错了什么。我所知道的每个python数据库接口都有一种方法可以将参数传递给上面的查询。请注意,需要将stringVar包含在iterable中。