python中的mysqldb错误

时间:2014-10-22 21:29:31

标签: python mysql mysql-python

我正在尝试使用Python将值插入到我的本地MySQL实例中,但我一直收到错误

这是我的代码:

con = mdb.connect('localhost', 'root', 'password', 'testDB')
cur = con.cursor()
cur.execute('''INSERT INTO testDB.testPython VALUES (%s)''',("HelloWorld"))
con.commit()

但是我收到以下错误

TypeError: not all arguments converted during string formatting

有谁知道为什么?

2 个答案:

答案 0 :(得分:3)

TypeError是一个基本的Python错误:

  

将操作或函数应用于不适当类型的对象时触发。关联值是一个字符串,提供有关类型不匹配的详细信息。

你的麻烦是你忘了在你的元组中放一个逗号,没有它就被认为是括号中的对象:你的单个字符串。

解释器说明:

In [1]: ('Hello')
Out[1]: 'Hello'
In [2]: ('Hello',)
Out[2]: ('Hello',)

像这样解决以解决您的麻烦:

cur.execute('INSERT INTO testDB.testPython VALUES (%s)', ("HelloWorld",))

答案 1 :(得分:0)

不要使用三引号,这会将你的sql包含参数作为字符串文字。请改用标准报价(")。