当使用Django(使用SQLite3)时,我在connection.queries中注意到以下查询:
"sql": "SELECT (1) AS \"a\" FROM \"blog_comment\" WHERE \"blog_comment\".\"id\" = 5 LIMIT 1"
我理解查询的作用(只返回每个匹配行的第一列),但为什么这样做?
它只是在SQLite3中检查EXISTS的廉价方式吗?如果是这样,它将在什么情况下单独使用?
解决方法:
它只是检查行的存在.
它没有任何意义,因为“1”是一个常数值