gpt4 book ai didi

sqlite - 有没有办法在 sqlite 中禁用宽松的引用规则?

转载 作者:行者123 更新时间:2023-12-03 17:16:09 25 4
gpt4 key购买 nike

看起来 SQLite,显然作为一个“兼容性特性”,如果没有找到匹配的列,会将双引号标识符解析为字符串文字。

我知道这样做是为了那些编写不正确的 sql 的人,并且为了与这些人创建的遗留项目向后兼容,但是对于我们这些在全新项目上编写正确的 sql 的人来说,调试变得非常困难。

例如,

SELECT * FROM "users" WHERE "usernme" = 'joe';

返回包含 0 行的查询,因为字符串“usernme”不等于字符串“joe”。

这让我挠头想知道为什么即使我知道有一个叫这个名字的用户我也没有得到 joe 的排,直到我煞费苦心地回溯我的代码并意识到我遗漏了一个 a。

是否有任何“严格模式”PRAGMA 或 API 选项来强制执行引号规则并将所有双引号字符串视为标识符,以便在拼写错误时立即通知我?

(还有,请不要告诉我在不需要时不要引用标识符,因为任何此类答案基本上都是在告诉我,为了进行正确的调试,您必须首先编写错误的代码。 )

最佳答案

这是在 SQLite 解析器中硬编码的,无法从外部更改。

关于sqlite - 有没有办法在 sqlite 中禁用宽松的引用规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13383763/

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