gpt4 book ai didi

python - 如何用sqlalchemy在子句中写多列

转载 作者:太空狗 更新时间:2023-10-29 21:37:28 25 4
gpt4 key购买 nike

请问有没有办法使用 SQLAlchemy 在子句中编写查询多列?

这里是实际查询的例子:

SELECT  url FROM pages WHERE (url_crc, url) IN ((2752937066, 'http://members.aye.net/~gharris/blog/'), (3799762538, 'http://www.coxandforkum.com/'));

我有一个包含两列主键的表,我希望避免添加一个仅用作索引的键。

PS 我正在使用 mysql 数据库。

更新:此查询将用于批处理 - 因此我需要将数百对放入 in 子句中。使用 IN 子句方法,我希望知道我可以在一个查询中插入多少对的固定限制。就像 Oracle 默认有 1000 个枚举限制。

使用 AND/OR 组合可能会受到查询字符长度的限制。这将是可变的并且更不可预测。

最佳答案

假设您在 Page 中定义了模型,下面是一个使用 tuple_ 的示例:

keys = [
(2752937066, 'http://members.aye.net/~gharris/blog/'),
(3799762538, 'http://www.coxandforkum.com/')
]

select([
Page.url
]).select_from(
Page
).where(
tuple_(Page.url_crc, Page.url).in_(keys)
)

或者,使用查询 API:

session.query(Page.url).filter(tuple_(Page.url_crc, Page.url).in_(keys))

关于python - 如何用sqlalchemy在子句中写多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461887/

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