python - 如何在 SQLAlchemy 中正确绑定(bind)对(元组数组、多维数组)?

标签 python arrays multidimensional-array sqlalchemy tuples

如何构建 mysql 查询:

SELECT *
FROM table
WHERE (key->>"$.k1", key->>"$.k2") IN ((1, "string1"), (2, "string2"))

使用 SQLAlchemy?

我尝试使用text,但没有成功:

select([table.c.value]).where(
    text('(key->>"$.k1", key->>"$.k2") IN :pairs)').bindparams(
        pairs=[(1, "string1"), (2, "string2")]
    )
)

生成的代码:

SELECT *
FROM table
WHERE (key->>"$.k1", key->>"$.k2") IN NULL

最佳答案

Ilja Everilä ,谢谢!

以下代码有效:

select([table.c.value]).where(
    tuple_(
        text('key->>"$.k1"'),
        text('key->>"$.k2"'),
    ).in_([[1, 'string1'], [2, 'string']])
)

关于python - 如何在 SQLAlchemy 中正确绑定(bind)对(元组数组、多维数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58288704/

相关文章:

c - 如何正确使用多维数组中的指针?

javascript - 如何在另一个函数调用中设置全局数组值

python - 如何根据 python 中的字符拆分行?

c++ - 如何使函数永久更改全局数组

arrays - 字符串如何存储在 GO 数组中?

java - 为什么 Java 不允许扩展数组类型

c++ - 如何在 cereal 上序列化多维数组,C++ 序列化库

python - Python 中的 != 和 <> 运算符之间有区别吗?

javascript - 在 Javascript 中使用组件

python - 使用 pip、Mac OSX 安装 tensorflow 的文件夹在哪里?