下面的未注释代码产生一个OperationalError:接近“?”虽然评论的行很好。我在这里缺少什么?
g.db.execute('INSERT INTO ? (date,value) VALUES (?,?)', \
[session['user'],request.form['date'],request.form['value']] )
#g.db.execute('INSERT INTO '+session['user']+' (date,value) VALUES (?,?)', \
# [request.form['date'],request.form['value']] )
答案 0 :(得分:4)
您不能对列名或表名使用占位符。你可以试试这个:
user = session['user']
data = request.form['date']
value = request.form['value']
g.db.execute('INSERT INTO {} (date,value) VALUES (?,?)'.format(user), (data, value))
答案 1 :(得分:3)
您无法参数化表名。你必须使用字符串格式/连接。