我在SQLite中有一个名为References的表,所以我似乎无法定位它。我用来编辑数据库的SQLite工作室会引发错误。
有没有办法逃避数据库名称?
查询是:
FLAG_ACTIVITY_NO_HISTORY
(这是我正在制作的触发器的一部分。)
答案 0 :(得分:2)
您可以使用双引号转义表名:
UPDATE "References" SET DateTimeLastEdited = datetime('now', 'localtime') WHERE NewsItemID = old.NewsItemID;
根据您要逃避的内容,您需要使用不同的分隔符:
如果要使用关键字作为名称,则需要引用它。那里 有四种在SQLite中引用关键字的方法:
'keyword'单引号中的关键字是字符串文字。
“keyword”双引号中的关键字是标识符。
[keyword] A 括在方括号中的关键字是一个标识符。这不是 标准SQL。 MS Access和SQL使用此引用机制 服务器并包含在SQLite中以实现兼容性。
`关键字`A 用严重重音符号(ASCII代码96)括起来的关键字是一个标识符。 这不是标准的SQL。这种引用机制由MySQL和 SQLite中包含了兼容性。