0

我正在尝试将一行插入到我在数据库中设置的表中。

我的代码:

cursor.execute("""INSERT INTO scan (prefix, code_id, answer, station) VALUES(%s, %s, %s, %s, timestamp, comport)""",[(prefix, code_id, answer, station)])

我收到一个错误,说它不喜欢“[]”中的内容。

我不完全理解“%s”是如何工作的。我尝试了很多例子,但都失败了。

我从http://mysql-python.sourceforge.net/MySQLdb.html得到了这个例子

4

3 回答 3

2

为什么你有两组括号内的参数?第二个参数应该是一个包含四个项目的序列,以匹配%s查询中的四个 s。相反,您给了它一个包含一个项目的列表:该项目是一个包含四个项目的序列。

相反,请尝试:

cursor.execute("""INSERT INTO scan (prefix, code_id, answer, station) VALUES(%s, %s, %s, %s, timestamp, comport)""",(prefix, code_id, answer, station))
于 2011-06-30T20:37:18.597 回答
0
cursor.execute('INSERT INTO scan (prefix, code_id, answer, station) VALUES("%s", "%s", "%s", "%s")' %(prefix, code_id, answer, station))

如果你错过了""周围,你可能会得到一个错误,%s即如果你只是在值中使用%s而不是 this 。"%s"

于 2011-06-30T20:40:09.987 回答
-1

您可以使用 Python 新的“格式”字符串方法:

cursor.execute("""INSERT INTO scan (prefix, code_id, answer, station) VALUES({}, {}, {}, {}, timestamp, comport)""".format(prefix, code_id, answer, station))

您还可以对参数进行编号,例如“{0}”、“{1}”等。这可能是必需的,具体取决于您的 Python 版本(我认为 2.6 已经支持没有编号的参数)。

有关使用它的参考,请查看http://docs.python.org/library/string.html#format-examples

于 2011-06-30T20:32:23.393 回答