android - "CREATE TABLE"附近的 SQLite 语法错误

标签 android sqlite syntax-error

这是我的代码:

    String CREATE_DATABASE = "CREATE TABLE " + TABLE_NAME + "("  + 
            KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
            "title TEXT, "+
            "author TEXT, "+
            "state TEXT);";

    db.execSQL(CREATE_DATABASE);

LogCat 说:12-11 23:43:50.553: E/AndroidRuntime(3706): android.database.sqlite.SQLiteException: near "CREATE TABLE": syntax error (code 1): , while compiling: CREATE TABLE PapersTable(_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, author TEXT, state TEXT);

最佳答案

CREATE TABLE 语法是正确的,正如您发布的那样。

我怀疑 CREATETABLE 之间存在不间断空格 (ASCII 0xA0)。将其替换为常规空格 (ASCII 0x20)。这可以解释您发布的语法错误:解析器将 CREATE TABLE 视为单个未知标记,而不是两个单独的已知标记 CREATETABLE .

绝对错误的是,您在作为参数传递给函数的 SQLiteDatabase db 上调用了 db.close()。你应该只关闭你自己打开的数据库,以这种方式关闭它会导致异常,尽管是一个不同的异常。

关于android - "CREATE TABLE"附近的 SQLite 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532339/

相关文章:

python if语句里面有语法错误

oracle - 无法执行存储过程

java - 单选按钮 : Listener in XML or JAVA?

Android:如何设置生成的上下文菜单标题?

android - 通过热点获取连接设备的名称

c# - SQLite一对多

python - Sqlite3 Db 转 Json,用于 Highcharts?

android - Android 中的 SQLiteDatabase.query() 语法

android - 本地 AAR 文件不管理依赖项

java - 错误: incompatible types Object Could not be converted [ArrayList]