2012-02-28 39 views
0

sqlite數據庫中'anything'和「anything」有什麼區別?
據我所知,單引號是用來表示字符串,而雙引號是關鍵字。
但是,我已經使用column_name="value"作爲where子句在查詢和數據庫接受該查詢。爲什麼?
謝謝..sqlite數據庫中'anything'和「anything」的區別

+0

我不確定這個問題是否需要android標籤。 – 2012-04-16 01:14:13

回答

2

from the sqlite website;

http://www.sqlite.org/lang_keywords.html

如果在單引號(例如:「鍵」或「水珠」)關鍵字,其中標識符被允許的,但其中一個字符串文字是 不被允許,則是在 上下文中使用該令牌被理解爲字符串文字的標識符 。

如果在雙引號(例如:「鍵」或「水珠」)一個關鍵字出現在 上下文中使用,其中它不能被解析爲一個標識符,但其中一個 字符串文字是允許的,則該標記被理解爲字符串 而不是標識符。

1

事實上,如果你的意思是'文字串',要小心使用雙「引號」! 我今天不解:

sqlite> select * FROM words WHERE word = "id"; 
<nothing> 

與:

sqlite> select * FROM words WHERE word = 'id'; 
13556|id 

模式:

sqlite> .schema 
CREATE TABLE words (
id integer primary key, 
word varchar(64) 
); 

由於有一個名爲id列, 「ID」 在這裏解釋爲命名列id,而不是字面字符串'ID'!如果你不需要它們,最好避免使用雙引號。

相關問題