2011-05-14 53 views
0

我想创建与存储在一个局部变量的语法如下字符串的名称数据库:Android的数据库表中的语法错误

 
mDb.execSQL("CREATE TABLE " + FLASH_TABLE + " (" + KEY_CARD_ROWID 
       + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_QUESTION 
       + "TEXT NOT NULL," + KEY_ANSWER + "TEXT NOT NULL);");

产生的日志猫以下错误:

 
05-14 04:40:05.892: ERROR/Database(372): Failure 1 (near "15": syntax error) on 0x272140 when preparing 'CREATE TABLE 15 (_id INTEGER PRIMARY KEY AUTOINCREMENT, questionTEXT NOT NULL,answerTEXT NOT NULL);'. 

与FLASH_TABLE与所述值“15”的局部变量 KEY_QUESTION和KEY_ANSWER也是局部变量

我已经看过EV我可以找到在线的示例,但找不到语法错误的原因。我很欣赏你可以提供的任何建议。

回答

0

您不能使用以数字开头的字符串创建表名称(或字段名称),除非您将其双引号。但即使这在技术上是可行的,但它并不被认为是最佳实践。如果你这么做,你每次在查询中使用它时都必须重复表格名称,这样你很快就会发现它比它的价值更麻烦。

+0

Thankyou,那个伎俩! – 2011-05-14 18:15:43