【问题标题】:Create Table Using FTS4 giving Error使用 FTS4 创建表给出错误
【发布时间】:2014-12-01 13:09:19
【问题描述】:

我发现使用 MATCH 关键字的查询很好,但它需要 fts4。所以,我正在尝试使用 fts4 创建一个表,如下所示,

 static {
        mCreateEntries.add("CREATE TABLE " + Tables.LOCATION_DETAILS
                + " USING fts4(" + ConfigContract.LocationDetails.LOCATION_ID
                + " INTEGER NOT NULL,"
                + ConfigContract.LocationDetails.LANGUAGE_ID
                + " INTEGER NOT NULL,"
                + ConfigContract.LocationDetails.LOCATION_NAME
                + " TEXT NOT NULL" + ")");
}

但是,我遇到了以下异常,

 java.lang.RuntimeException: Unable to get provider com.sample.database.Provider: android.database.sqlite.SQLiteException: near "USING": syntax error (code 1): , while compiling: CREATE TABLE location_details USING fts4(location_id INTEGER NOT NULL,language_id INTEGER NOT NULL,location_name TEXT NOT NULL)

我做错了吗?请给我建议,

提前致谢。

【问题讨论】:

    标签: android sqlite fts4


    【解决方案1】:

    要使用USING创建虚拟表,必须使用CREATE VIRTUAL TABLE

        mCreateEntries.add("CREATE VIRTUAL TABLE " + Tables.LOCATION_DETAILS
                + " USING fts4(" + ...
    

    【讨论】:

      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多