1

请帮我。我收到此错误:

Caused by: android.database.sqlite.SQLiteException: near "values": syntax error: CREATE TABLE values (_id INTEGER PRIMARY KEY AUTOINCREMENT, name text, caption text, lines integer , photo_url text, type text);

这是我尝试创建数据库表的方式:

private static final String TABLE_VALUES_CREATE =
    "CREATE TABLE " + DATABASE_TABLE_VALUES +
           " (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
          + ValueTemplate.KEY_NAME + " text, "
          + ValueTemplate.KEY_CAPTION + " text, "
          + ValueTemplate.KEY_LINES + " integer , "
          + ValueTemplate.KEY_PHOTOURL + " text, "
          + ValueTemplate.KEY_TYPE + " text);";

   //ValueTemplate class:
   // VALUE TEMPLATES

      public static final String KEY_CAPTION = "caption";
      public static final String KEY_NAME = "name";
      public static final String KEY_TYPE = "type";
      public static final String KEY_LINES = "lines";
      public static final String KEY_PHOTOURL = "photo_url";
4

3 回答 3

4

我认为因为 (values) 是保留名称,所以重命名您的表..

于 2012-11-12T13:46:19.567 回答
2

表名 ( values) 是 SQLite 保留的关键字。

有关关键字列表,请参见此处:http ://www.sqlite.org/lang_keywords.html

于 2012-11-12T13:46:08.923 回答
2

如果您坚持保持完全相同的表名,请尝试[values],否则最好将其重命名为tblValues

于 2012-11-12T13:56:54.403 回答