You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android SQLite创建表语法错误致应用崩溃问题求助

问题排查与解决:SQLite创建表语句语法错误

从报错信息和代码来看,存在两处明显的SQL语法错误:

错误1:CREATE TABLE关键字与表名之间缺少空格

报错中的CREATE TABLENot是因为代码里"CREATE TABLE"字符串末尾没有空格,直接拼接TABLE_NAME后,SQL解析器会把TABLENot识别为一个无效的关键字,导致语法错误。

错误2:最后一个字段名与类型之间缺少空格

语句末尾的silinmisTEXT是因为SILINMIS_FIELD与"TEXT)"之间没有空格,字段名和数据类型连在一起,不符合SQL语法规范。

修正后的代码

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase)
{
    StringBuilder sql;
    sql = new StringBuilder()
            .append("CREATE TABLE ") // 增加空格分隔CREATE TABLE与表名
            .append(TABLE_NAME)
            .append("(")
            .append(COUNTER)
            .append(" INTEGER PRIMARY KEY AUTOINCREMENT, ")
            .append(ID_FIELD)
            .append(" INT, ") // 确保字段后有逗号分隔下一个字段
            .append(BASLIK_FIELD)
            .append(" TEXT, ")
            .append(ACIKLAMA_FIELD)
            .append(" TEXT, ")
            .append(SILINMIS_FIELD)
            .append(" TEXT)"); // 增加空格分隔字段名与TEXT类型
    sqLiteDatabase.execSQL(sql.toString());
}

另外需要确认TABLE_NAME、COUNTER、ID_FIELD等常量的定义是否正确,确保没有额外的空格或特殊字符。

内容的提问来源于stack exchange,提问作者Kregai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 12:15:31