2013-05-17 24 views
0

的我只是增加了一个新的列到我的sqlite数据库以下命令:差异援引列名

ALTER TABLE foo_table ADD COLUMN fooCol TEXT NOT NULL DEFAULT 'foo'; 

当我看场,我得到如下:

PRAGMA foreign_keys=OFF; 
BEGIN TRANSACTION; 
CREATE TABLE "foo_table" (
"ID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
"barfoo" TEXT 
, fooCol TEXT NOT NULL DEFAULT 'bar'); 

现在我想知道,因为我的fooCol没有像barfooID这样的引号,如果它有任何进一步的后果与否。否则,我会复制我的整个数据库(所有的元数据,其中,顺便说一句,我不知道该怎么做),并删除旧表。

回答

0

在SQLite中,即使引用标识符也不区分大小写。 (引号用于避免与SQL关键字冲突。)

+0

这些冲突发生的可能性有多大?假设我的专栏有一个标准的名字,比如'status'? – cherrun

+0

在像SQLite这样的嵌入式数据库中,你应该知道你的特定版本的[关键字](http://www.sqlite.org/lang_keywords.html)是什么。但是这并不能帮助你,例如Android。 –