我不熟悉SQL(或者说是python),我想知道如何将变量添加到表中。这就是我尝试过的:
import sqlite3
conn = sqlite3.connect('TESTDB.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS table(number real, txt text)''')
r=4
c.execute('''INSERT INTO table(r,'hello')''')
conn.commit()
conn.close()
这不起作用。我收到错误消息:“ TypeError:'str'对象不可调用”如何使表插入变量r ??
谢谢
答案 0 :(得分:1)
您必须在准备好的语句中将值绑定到占位符。请参阅the documentation中的示例。
尝试动态构建带有直接插入未知值的查询字符串是获得SQL injection攻击的好方法,应该避免。
答案 1 :(得分:-1)
您的问题是您没有将r
正确插入查询中。这应该起作用:
c.execute('''INSERT INTO table(''' + str(r) + ''','hello')''')
欢呼