为什么是“?”在WHERE子句之后

时间:2019-07-16 14:25:36

标签: python sqlalchemy

我目前正在通过其官方网站自学SQLAlchemy ORM。我在其网站上看到以下代码:

session.query(BlogPost).filter(BlogPost.author==wendy).filter(BlogPost.keywords.any(keyword='firstpost')).all()

执行后将返回以下SQL语句:

SELECT posts.id AS posts_id, posts.user_id AS posts_user_id,
    posts.headline AS posts_headline, posts.body AS posts_body
FROM posts
WHERE ? = posts.user_id AND (EXISTS (SELECT 1
    FROM post_keywords, keywords
WHERE posts.id = post_keywords.post_id
    AND keywords.id = post_keywords.keyword_id
    AND keywords.keyword = ?))
(2, 'firstpost')

我很困惑为什么是“?”在WHERE子句之后。应该不是WHERE posts.user_id = ?而不是WHERE ? = posts.user_id吗?

我曾尝试在网上搜索,但找不到任何内容。感谢有人可以帮我解决这个问题。

谢谢。

0 个答案:

没有答案