带mysql查询插入的Python-单参数
下面是不起作用的代码带mysql查询插入的Python-单参数,python,mysql,insert,Python,Mysql,Insert,下面是不起作用的代码 #!/usr/bin/python import urllib import datetime import mysql.connector data['price'] = 100 # Write to database cnx = mysql.connector.connect(user='user', password='pw', database='db') cursor = cnx.cursor() query = ("INSERT INTO records
#!/usr/bin/python
import urllib
import datetime
import mysql.connector
data['price'] = 100
# Write to database
cnx = mysql.connector.connect(user='user', password='pw', database='db')
cursor = cnx.cursor()
query = ("INSERT INTO records(price) VALUES(%s) ")
cursor.execute(query, (data['price']))
cnx.commit()
cursor.close()
cnx.close()
MySQL有相应的表和列
- id(主整数自动增量)
- 价格(浮动)
让我们试着找到一个解决方案:
mogrify
并打印它。例如:
query = ("INSERT INTO records(price) VALUES(%s) ")
query_to_be_executed = cursor.mogrify(query, (data['price']))
print(query_to_be_executed)
让我们试着找到一个解决方案:
mogrify
并打印它。例如:
query = ("INSERT INTO records(price) VALUES(%s) ")
query_to_be_executed = cursor.mogrify(query, (data['price']))
print(query_to_be_executed)
元组
(或dict
)作为第二个(参数
)参数
在您的例子中:它应该是(data['price'],)
(注意附加的逗号;没有它,括号无效)而不是(data['price'])
,将元组(或dict
)作为第二个(参数
)参数
在你的例子中:它应该是(data['price'],)
(注意附加的逗号;没有它,括号就没有效果)而不是(data['price'])
。@hiro\u progator谢谢。你应该回答这个问题。这就是问题的根源。@hiro_主角谢谢。你应该回答这个问题。这就是问题的根源。谢谢你的回答。这应该有助于调试过程,但hiro已经指出了问题的确切根源。特定于PostgreSQL数据库适配器psycopg
。没有mogrify
,因此它不能用于这个问题的上下文。奥德赛,我不知道。我知道这是一种变通方法,但也许作者可以使用PostgreSQL数据库?谢谢你们的回答。这应该有助于调试过程,但hiro已经指出了问题的确切根源。特定于PostgreSQL数据库适配器psycopg
。没有mogrify
,因此它不能用于这个问题的上下文。奥德赛,我不知道。我知道这是一种权宜之计,但也许作者可以使用PostgreSQL数据库?谢谢,这是一些奇怪的错误。在发布这个问题之前,我花了几个小时。我同意:错误消息应该比它提供的信息多得多…谢谢,这是一些奇怪的错误。在发布这个问题之前花了我几个小时。我同意:错误消息应该比它提供的信息多得多。。。