微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Django ORM:为什么Django会自己使用SELECT(1)?

当使用Django(使用SQLite3)时,我在connection.queries中注意到以下查询:

"sql": "SELECT (1) AS \"a\" FROM \"blog_comment\" WHERE \"blog_comment\".\"id\" = 5  LIMIT 1"

我理解查询的作用(只返回每个匹配行的第一列),但为什么这样做?

它只是在SQLite3中检查EXISTS的廉价方式吗?如果是这样,它将在什么情况下单独使用?

解决方法:

它只是检查行的存在.
它没有任何意义,因为“1”是一个常数值

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐