use*_*880 7 python mysql sql python-2.7
我有一个单列表。我需要在此列中插入值。程序正确运行,没有错误。但是当我检查数据库时,没有插入任何内容。当我向代码和表中添加另一列时,程序正确插入数据。你能告诉我如何为单列表插入数据吗?这是不向表中插入任何内容的单列代码。
import MySQLdb
conn = MySQLdb.connect(host= "localhost",
user="root",
passwd="123",
db="dbname")
cursor = conn.cursor()
x=100
try:
sql="""INSERT INTO table (col1) VALUES ('%s')"""
cursor.execute(sql, (x))
conn.commit()
except:
conn.rollback()
conn.close()
Run Code Online (Sandbox Code Playgroud)
这是两列代码。
import MySQLdb
conn = MySQLdb.connect(host= "localhost",
user="root",
passwd="123",
db="dbname")
cursor = conn.cursor()
x=100
y=2
try:
sql="""INSERT INTO table (col1,col2) VALUES ('%s','%s')"""
cursor.execute(sql, (x,y))
conn.commit()
except:
conn.rollback()
conn.close()
Run Code Online (Sandbox Code Playgroud)
the*_*orn 10
您需要去掉 周围的引号%s,之后您需要知道 to 的第二个参数cursor.execute()是一个元组,并且写入的是一个单元组:
(item,)
Run Code Online (Sandbox Code Playgroud)
注意逗号。那么解决办法是:
sql="""INSERT INTO table (col1) VALUES (%s)"""
cursor.execute(sql, (x,))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4601 次 |
| 最近记录: |