【问题标题】:Error: android.database.sqlite.SQLiteException: near "=": syntax error (code 1): , while compiling错误:android.database.sqlite.SQLiteException:靠近“=”:语法错误(代码1):,编译时
【发布时间】:2015-11-16 11:47:39
【问题描述】:

检索本地数据库数据时出现以下错误:

android.database.sqlite.SQLiteException: near "=": syntax error (code 1): , while compiling: SELECT EVENT_USER_ID,EVENT_ID,RINGEE_USER_ID,IS_INVITED,IS_ATTENDING,IS_DELETE FROM user_relationWHERE _ID =1

user_relation 表的查询如下,

public static abstract class UserRelationTable {
    public static final String TABLE_NAME = "user_relation";
    public static final String COL1_EVENT_USER_ID = "EVENT_USER_ID";
    public static final String COL2_EVENT_ID = "EVENT_ID";
    public static final String COL3_RINGEE_USER_ID = "RINGEE_USER_ID";
    public static final String COL4_IS_INVITED = "IS_INVITED";
    public static final String COL5_IS_ATTENDING = "IS_ATTENDING";
    public static final String COL6_IS_DELETE = "IS_DELETE";

    public static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + _ID + " INTEGER PRIMARY KEY," + COL1_EVENT_USER_ID + INTEGER_TYPE + COMMA_SEP + COL2_EVENT_ID + INTEGER_TYPE
            + COMMA_SEP + COL3_RINGEE_USER_ID + INTEGER_TYPE + COMMA_SEP + COL4_IS_INVITED + INTEGER_TYPE + COMMA_SEP + COL5_IS_ATTENDING + INTEGER_TYPE + COMMA_SEP + COL6_IS_DELETE + INTEGER_TYPE + ")";

    public static final String DELETE_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME;

    public static final String RETRIVE_ALL_USER_DATA = "SELECT " + COL1_EVENT_USER_ID + COMMA_SEP + COL2_EVENT_ID + COMMA_SEP + COL3_RINGEE_USER_ID + COMMA_SEP + COL4_IS_INVITED + COMMA_SEP + COL5_IS_ATTENDING + COMMA_SEP
            + COL6_IS_DELETE + " FROM " + TABLE_NAME + "WHERE _ID =";
}

如何解决这个错误提前谢谢。

【问题讨论】:

    标签: android mysql sqlite


    【解决方案1】:

    WHERE前加空格:

    public static final String RETRIVE_ALL_USER_DATA = "SELECT " + COL1_EVENT_USER_ID + COMMA_SEP + COL2_EVENT_ID + COMMA_SEP + COL3_RINGEE_USER_ID + COMMA_SEP + COL4_IS_INVITED + COMMA_SEP + COL5_IS_ATTENDING + COMMA_SEP
                + COL6_IS_DELETE + " FROM " + TABLE_NAME + " WHERE _ID =";
    

    【讨论】:

      【解决方案2】:

      试试这个,

      public static final String RETRIVE_ALL_USER_DATA = "SELECT " + COL1_EVENT_USER_ID + COMMA_SEP + COL2_EVENT_ID + COMMA_SEP + COL3_RINGEE_USER_ID + COMMA_SEP + COL4_IS_INVITED + COMMA_SEP + COL5_IS_ATTENDING + COMMA_SEP
                  + COL6_IS_DELETE + " FROM " + TABLE_NAME + " WHERE _ID =";
      

      你没有给tablename后面的空格,所以会出现这个错误。

      【讨论】:

      • 嘿,你检查了吗?
      • 好的,如果这个答案对你有帮助,请点赞。
      【解决方案3】:

      在您的代码字符串 RETRIVE_ALL_USER_DATA

      “WHERE _ID =" 倾向于 ”WHERE _ID =" 始终将此标记为 DATABASE

      简单易行

      SPACE 之后选择、创建、删除、更新等...

      and SPACE both side WHERE,LIKE,IN,FROM,etc.....

      【讨论】:

        猜你喜欢
        • 2021-10-04
        • 2020-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-29
        相关资源
        最近更新 更多