SQL 如何在 SQL 中选择 python 变量

尝试过类似 cur.execute('SELECT ? FROM translations WHERE imagename = ? ', (target, filename,))

但它只是返回 [('de',), ('de',), ('de',), ('de',), ('de',), ('de',)]

成为目标 = 'de'


拉丁的传说
浏览 374回答 3
3回答

DIEA

不能用于数据库?对象名称,例如表名和列名。允许这样做会带来很大的安全风险。这里的一种解决方法是只为每个逻辑流维护单独的语句,例如if target == "col1":    cur.execute('SELECT col1 FROM translations WHERE imagename = ?', (filename,))elif target == "col2":    cur.execute('SELECT col2 FROM translations WHERE imagename = ?', (filename,))else:    cur.execute('SELECT col3 FROM translations WHERE imagename = ?', (filename,))

当年话下

通过 SQL 选择整行,然后从结果中获取相关值。就像是:result = cur.execute('SELECT * FROM translations WHERE imagename = ?', (filename,)) texts = [row[target] for row in result.fetchall()]

汪汪一只猫

由于参数被定义为传递数据值,因此您必须在程序中处理它。您可以获取所有列并在内存中处理它[更新]指向上面指定的解决方案
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python