SqLite语法错误

时间:2014-03-12 12:31:57

标签: android sqlite

我正在暂停关于SqlLite的视频教程。但我想我错过了一些我得到此异常的内容

  

E / SQLiteLog(1888):( 1)接近" TABLEusers":语法错误

。我已经仔细检查了查询。请你帮忙

db.execSQL("CREATE TABLE"+DB_TABLE+"("
                                      + KEY_ROWID+"INTEGER PRIMARY KEY AUTOINCREMENT,"+KEY_NAME+"TEXT NOT NULL,"
                                      +KEY_PASS +"TEXT NOT NULL);");

3 个答案:

答案 0 :(得分:3)

您需要在关键字和标识符之间留出空格,例如TABLEDB_TABLE以及列名称及其类型:

db.execSQL("CREATE TABLE "+DB_TABLE+"("
                                      + KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT,"+KEY_NAME+" TEXT NOT NULL,"
                                      +KEY_PASS +" TEXT NOT NULL);");

答案 1 :(得分:2)

您需要在 CREATE TABLE 查询中的column namecolumn type之间添加空格。使用以下内容更正您的查询:

db.execSQL("CREATE TABLE "+DB_TABLE+"( "
                                  + KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT,  "+KEY_NAME+" TEXT NOT NULL, "
                                  +KEY_PASS +" TEXT NOT NULL);");

答案 2 :(得分:1)

您错过了TABLE关键字和表名

之间的空格
db.execSQL("CREATE TABLE "+DB_TABLE+"("
                                      + KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+KEY_NAME+" TEXT NOT NULL,"
                                      +KEY_PASS +" TEXT NOT NULL);");