Python:MySQL错误
import MySQLdb
import random
db = MySQLdb.connect (host = "localhost", user = "python-test", passwd = "python", db = "python-test")
cursor = db.cursor()
var = .3
sql = "INSERT INTO RandomInt
(RAND)
VALUES
(var)" # RandomInt is the name of the table and Rand is the Column Name
cursor.execute(sql)
db.commit()
db.close()
我遇到了一个错误,提示说 操作错误: (1054, "字段列表中未知列 'var'")
。我为什么会出现这个错误呢?我已经定义了 'var',那我该怎么解决这个问题呢?
4 个回答
1
这段代码可以解决一个问题:
sql = "INSERT INTO RandomInt (RAND) VALUES (%s)"
cursors.execute(sql, (var,))
接下来要注意的是,你写入的表的名字,0.3 不是一个整数。
补充说明:mysqldb 的参数样式是 %s
而不是 ?
。
1
var = .3
sql = "INSERT INTO RandomInt (RAND) VALUES (%s)"
cursor.execute(sql, (var,))
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
5
如上所述,var
作为字符串发送给 MySQL。
试试下面这个:
sql = "INSERT INTO RandomInt (RAND) VALUES (%s)"
cursor.execute(sql, (var,))
编辑:
>>> import MySQLdb
>>> MySQLdb.paramstyle
'format'
MySQLdb 的参数样式是 format
;根据 DB-API 的规定,它是 %s
:
'format' ANSI C printf format codes, e.g. '...WHERE name=%s'