python - 无法使用MySQL在python中插入单列值

标签 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()

这是两列代码。

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()

最佳答案

您需要去掉 %s 周围的引号,之后您需要知道 cursor.execute() 的第二个参数是一个元组,并且一个一元组写成:

(item,)

注意逗号。那么解决方案是:

sql="""INSERT INTO table (col1) VALUES (%s)"""
cursor.execute(sql, (x,))

关于python - 无法使用MySQL在python中插入单列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309096/

相关文章:

python - 从 matplotlib 分析图形

mysql - 无法从本地主机连接到 MySQL 服务器,但 MySQL 服务正在运行

sql - 每小时对数据进行分组并插入到 Postgres 中的汇总表中

python - 如何安装 Trac 插件以及什么是 python egg?

python - 根据值(理解)对嵌套字典中的元素进行计数

python - ndimage 的 center_of_mass 用于计算高斯峰的位置

mysql - 如何从关联表中调用字段数据?

sql - Oracle SQL 哪个更高效?并行创建表作为选择或并行插入?

sql - 返回由 plpgsql 函数插入的记录

python - 当访问浮点值列表中的单个元素时,值会四舍五入