Python 为什么这个查询没有';t工作(存在问题)
我正在努力处理这样的查询(由sqlalchemy生成。为了清晰起见,我将其重命名) 对于dx,dy=1,1和表:Python 为什么这个查询没有';t工作(存在问题),python,sql,sqlalchemy,exists,Python,Sql,Sqlalchemy,Exists,我正在努力处理这样的查询(由sqlalchemy生成。为了清晰起见,我将其重命名) 对于dx,dy=1,1和表: Table: id | x | y ----+---+--- 1 | 0 | 0 Table2: id | table_id ----+---------- 1 | 1 它应返回: cx | cy ----+---- 1 | 1 然而,第二个条件似乎返回false 编辑:SQLAlchemy中的事务刷新似乎有问题。我认为在执行查询(非O
Table:
id | x | y
----+---+---
1 | 0 | 0
Table2:
id | table_id
----+----------
1 | 1
它应返回:
cx | cy
----+----
1 | 1
然而,第二个条件似乎返回false
编辑:SQLAlchemy中的事务刷新似乎有问题。我认为在执行查询(非ORM映射)时,它会自动刷新。但是,在这种情况下,似乎没有冲洗,或者冲洗顺序不正确。在任何情况下,添加额外的
model.DBSession.flush()
似乎可以解决问题。如编辑中所述,问题是在flush中。如果它不返回1 | 1
?我认为第1行应该是选择table.x+:dx作为cx,table.y+:dy AS cy
我使用您的表结构和值进行了测试,查询返回1 | 1
。我遗漏了什么?@Adam Bernier:看来你遗漏了SQLAlchemy中的查询缓存。看编辑。是的,我确实错过了。很高兴你明白了!
cx | cy
----+----
1 | 1