1

我在我的 android 应用程序中创建表时遇到了真正的麻烦。

这是我的错误:

06-21 23:29:58.490: E/SQLiteLog(19571): (1) near "index": syntax error
06-21 23:29:58.820: E/InfiniDatabase(19571): Creating Index Table Failed
06-21 23:29:58.820: E/InfiniDatabase(19571): android.database.sqlite.SQLiteException: near "index": syntax error (code 1): , while compiling: CREATE TABLE index (_id INTEGER PRIMARY KEY)

这是我正在使用的“测试”声明,因为我的完整声明不是在玩球。我对 SQL 毫无用处 - 是我还是计算机?

这是Java片段:

//used to create are initial index table...
@Override
public void onCreate(SQLiteDatabase db) 
{
    Log.d(TAG_NAME, "Now Creating Index Table");
    try{
        final String INDEX_TABLE_CREATE = "CREATE TABLE " + INDEX_TABLE_NAME +
                " (" + 
                COL_ID + " INTEGER PRIMARY KEY" + ")";

        db.execSQL(INDEX_TABLE_CREATE);

        Log.d(TAG_NAME,"Created New Index Table");
    }
    catch(SQLException e)
    {
        Log.e(TAG_NAME, "Creating Index Table Failed", e);
    }
}
4

2 回答 2

3

您不能使用名称“索引”作为表的名称,因为它是 sqlite 中的关键字,请参考此链接http://www.sqlite.org/lang_keywords.html

于 2013-06-21T22:40:21.030 回答
0

你错过了一个分号

final String INDEX_TABLE_CREATE = "CREATE TABLE " + INDEX_TABLE_NAME +
            " (" + 
            COL_ID + " INTEGER PRIMARY KEY" + ");";
于 2013-06-21T22:39:48.427 回答