2016-01-19 16 views
1

我在SQLite中有名爲References的表,所以我看不到它。我用來編輯數據庫的SQLite工作室會引發錯誤。在SQLite中轉義表名?

有沒有辦法逃避數據庫名稱?

查詢是:

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

(這是我提出的觸發器的一部分。)

回答

1

可以逃脫雙引號表名:

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中包含 以便兼容。

SQLite documentation