SQLite中的转义表名?

SQLite中的转义表名?,sql,database,sqlite,escaping,Sql,Database,Sqlite,Escaping,我在SQLite中有一个名为References的表,所以我似乎无法将其作为目标。我用来编辑数据库的SQLite studio抛出一个错误 有没有办法转义数据库名称 查询是: UPDATE References SET DateTimeLastEdited = datetime('now', 'localtime') WHERE NewsItemID = old.NewsItemID; (这是我正在执行的触发器的一部分。)您可以用双引号转义表名: UPDATE "Reference

我在SQLite中有一个名为References的表,所以我似乎无法将其作为目标。我用来编辑数据库的SQLite studio抛出一个错误

有没有办法转义数据库名称

查询是:

UPDATE References 
SET DateTimeLastEdited = datetime('now', 'localtime')
WHERE NewsItemID = old.NewsItemID;

(这是我正在执行的触发器的一部分。)

您可以用双引号转义表名:

UPDATE "References" SET DateTimeLastEdited = datetime('now', 'localtime') WHERE NewsItemID = old.NewsItemID;
根据要转义的内容,需要使用不同的分隔符:

如果要使用关键字作为名称,则需要引用它。那里 在SQLite中引用关键字有四种方式:

“关键字”单引号中的关键字是字符串文字

“关键字”双引号中的关键字是标识符

[关键词]A 方括号中的关键字是标识符。这不是 标准SQL。MS Access和SQL使用这种引用机制 服务器,并包含在SQLite中以实现兼容性

`关键字'A 包含在严重重音符号中的关键字(ASCII代码96)是一个标识符。 这不是标准的SQL。MySQL和 包含在SQLite中以实现兼容性