mrm*_*mut 5 sql database sqlite escaping
我在 SQLite 中有名为 References 的表,所以我似乎无法定位它。我用来编辑数据库的 SQLite Studio 会引发错误。
有没有办法转义数据库名称?
查询是:
UPDATE References
SET DateTimeLastEdited = datetime('now', 'localtime')
WHERE NewsItemID = old.NewsItemID;
Run Code Online (Sandbox Code Playgroud)
(这是我正在制作的触发器的一部分。)
您可以使用双引号转义表名:
UPDATE "References" SET DateTimeLastEdited = datetime('now', 'localtime') WHERE NewsItemID = old.NewsItemID;
Run Code Online (Sandbox Code Playgroud)
根据您要转义的内容,您需要使用不同的分隔符:
如果要使用关键字作为名称,则需要引用它。SQLite中有四种引用关键字的方式:
'keyword' 单引号中的关键字是字符串文字。
"keyword" 双引号中的关键字是一个标识符。
[关键字] 方括号中的关键字是标识符。这不是标准的 SQL。这种引用机制由 MS Access 和 SQL Server 使用,并包含在 SQLite 中以实现兼容性。
`keyword` 用重音符号(ASCII 代码 96)括起来的关键字是一个标识符。这不是标准的 SQL。这种引用机制由 MySQL 使用,并包含在 SQLite 中以实现兼容性。