SQLite根据用户输入动态绑定列名

2024-06-07 10:04:49 发布

您现在位置:Python中文网/ 问答频道 /正文

一开始我几乎不知道。我想我可以用f弦。在阅读了关于插入攻击(我指的是一个木棍漫画)和关于带有悬空逗号的SQLite参数之后,我有了这个

stat_field = input("Enter stat field: ") 
query = "SELECT player_name, (?) FROM stattable"
conn = sqlite3.connect('pitches.db')
df = pd.read_sql_query(query, conn, params=(stat_field,))
conn.close()

如果我在提示符处键入'pfx_x',stattable中的一列,则数据帧如下所示

    player_name   (?)
0   Mike Mayers  pfx_x
1   Mike Mayers  pfx_x
2   Mike Mayers  pfx_x

知道如何获取最后一列的实际数据吗


Tags: 数据namefieldconnquerystat漫画mike
1条回答
网友
1楼 · 发布于 2024-06-07 10:04:49

我迟迟不明白这一点,但戈伦给我指出了正确的方向。基本上,绑定变量或占位符不能出现在SELECT/FROM语句中,因为占位符设计用于更改预先存在的语句。但是,用户可以选择player_name,因为该字段始终可用。我必须在原始查询中输入所有可能使用的统计信息,但我可以通过添加“WHERE player_name=?”然后将params更改为params=(player_name,)来加快处理速度

相关问题 更多 >

    热门问题