gpt4 book ai didi

执行中的Python sqlite3字符串变量

转载 作者:IT老高 更新时间:2023-10-28 21:00:37 26 4
gpt4 key购买 nike

我尝试在 Python 中执行这个 sqlite3 查询。我将代码减少到最少,sqlite.connect 等工作。

column = 'Pron_1_Pers_Sg'
goal = 'gender'
constrain = 'Mann'


with con:
cur = con.cursor()

cur.execute("SELECT ? FROM Data where ?=?", (column, goal, constrain))
con.commit()

rows = cur.fetchall()

for element in rows:
values.append(element)

这将返回一个空列表。如果我对字符串进行硬编码,它会起作用并返回值。

最佳答案

参数标记只能用于表达式,即值。您不能将它们用于表名和列名等标识符。

使用这个:

cur.execute("SELECT "+column+" FROM Data where "+goal+"=?", (constrain,))

或者这个:

cur.execute("SELECT %s FROM Data where %s=?" % (column, goal), (constrain,))

(并且在您真正完成访问数据之前不要提交。)

关于执行中的Python sqlite3字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13880786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com