【问题标题】:Android database tables syntax errorsAndroid 数据库表语法错误
【发布时间】:2011-05-14 13:21:18
【问题描述】:

我正在尝试使用存储在本地变量中的字符串名称创建一个数据库,语法如下:

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

在日志cat中产生以下错误:

05-14 04:40:05.892:错误/数据库(372):在准备“创建表 15(_id 整数主键自动增量,questionTEXT NOT NULL,answerTEXT NOT NULL)时,0x272140 上的失败 1(接近“15”:语法错误) ;'。

其中 FLASH_TABLE 是值为“15”的局部变量 KEY_QUESTION 和 KEY_ANSWER 也是局部变量

我查看了所有可以找到的在线示例,但找不到语法错误的原因。感谢您提供的任何建议。

【问题讨论】:

    标签: android


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多