根据:http://www.sqlite.org/draft/lang_keywords.html
如果您执行以下操作,SQLite3将执行您期望的操作:
select "foo" from bar;
但是,如果标识符不存在:
select "non-existant" from bar;
它退回(为了与旧版本兼容,我猜)将引用的文本视为字符串。你知道吗
这给我带来了问题,因为我使用这样的带引号的列动态地创建查询,而后面的行为返回的是无意义的结果,而不是抛出错误。你知道吗
我正在编写python代码,并使用一个封装了PEP-249python数据库API规范v2.0模块的模块,这样我就可以在必要时使用特定于数据库的hack。你知道吗
我们的后端数据库可能会改变(事实上,对于本地测试和生产,在某些时候可能会有所不同),所以如果可能的话,我希望保持SQL本身的标准。你知道吗
我有没有办法:
不要使用引号,使用
[
和]
尝试以编程方式混淆:
如果列名以表名或别名作为前缀,则不能误解它们:
当您处理多个表时,可能无论如何都需要使用它来避免列名冲突。你知道吗
相关问题 更多 >
编程相关推荐