【发布时间】:2020-05-20 00:53:47
【问题描述】:
我正在尝试从 python 脚本查询 SQLite 数据库。但是,每当我使用参数化时,它只会返回第一个参数,即column2。期望的结果是它在column1 等于row1 的行上返回column2 中保存的值。
conn = sqlite3.connect('path/to/database')
c = conn.cursor()
c.execute('SELECT ? from table WHERE column1 = ? ;', ("column2","row1"))
result = c.fetchone()[0]
print(result)
打印出来
>>column2
每当我使用连接字符串运行它时,它都可以正常工作。
conn = sqlite3.connect('path/to/database')
c = conn.cursor()
c.execute('SELECT ' + column2 + ' from table WHERE column1 = ' + row1 + ';')
result = c.fetchone()[0]
print(result)
然后打印出来:
>>desired data
知道为什么会这样吗?
【问题讨论】:
标签: python sql sqlite select parameterized-query