python - 如何在 MySQL 的 IN 子句中使用变量。 Python脚本

标签 python mysql performance where-clause in-clause

我正在尝试优化这段代码以使用单个查询,而不是一遍又一遍地循环。

while not (dataX):
            i += 1
            this_id = '/'.join(this_id.split('/')[0:-i])
            if not this_id:
                break
            else:
                dataX = db.conn[db_read].query("SELECT x AS xX FROM link WHERE _deleted = 0 AND _ref = %s AND _ntype = 'code' LIMIT 1;", data = (this_id,))

我想将 IN 子句与包含所有可能的子字符串的变量一起使用,但我无法让它工作。

this_id_list = "'/a/b/c/d/e' , '/a/b/c/d', '/a/b/c', '/a/b', '/a'"
result = db.conn[db_read].query("SELECT x AS xX FROM link WHERE _deleted = 0 AND _ref IN($this_id_list)")

知道我做错了什么以及如何解决它吗?我真的很感激任何意见!顺便说一句,这是一个 Python 脚本。

最佳答案

this_id_list = "'/a/b/c/d/e' , '/a/b/c/d', '/a/b/c', '/a/b', '/a'"

这应该是一个字符串

关于python - 如何在 MySQL 的 IN 子句中使用变量。 Python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46349247/

相关文章:

mysql - 在反对 js 中,我试图设置一个角色并收到错误

python - Pyautogui 在 IDLE 中工作,但当我将其作为 .py 执行时则不起作用

Python 笔画宽度变换

php - 从 MySQL 填充 PHP 销售表(包括空月)

python - pip安装mysql报错

c# - 我应该将比较器缓存在静态字段中吗?

performance - Lithium 中的 MongoDB 查询 - 我应该使用 `order` 还是 `$orderby` ,还是不重要?

Java自动保存文本文件的有效方法

Python 3 蛮力,paramiko ssh 连接失败太多时间

python - 输出 HTML 无序列表 python