尝试使用SqlLite创建数据库时出错。
这是错误代码
07-04 03:50:21.715: E/AndroidRuntime(786): Caused by: android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compiling: CREATE TABLE IF NOT EXISTS timetable ( id INTEGER PRIMARY , day INTEGER NOT NULL , sub_id INTEGER NOT NULL , time_from TEXT NOT NULL , time_to TEXT NOT NULL )
无法弄清楚为什么会出现这个错误
这是创建Db的代码:
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE IF NOT EXISTS timetable ( id INTEGER PRIMARY , day INTEGER NOT NULL , sub_id INTEGER NOT NULL , time_from TEXT NOT NULL , time_to TEXT NOT NULL )");
db.execSQL("CREATE TABLE IF NOT EXISTS noofperiods ( id INTEGER PRIMARY , noofperiod INTEGER NOT NULL )");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS timetable");
db.execSQL("DROP TABLE IF EXISTS noofperiods");
onCreate(db);
}
}
答案 0 :(得分:0)
KEY
之后缺少PRIMARY
个字词:
db.execSQL("CREATE TABLE IF NOT EXISTS timetable (id INTEGER PRIMARY KEY, day INTEGER NOT NULL , sub_id INTEGER NOT NULL , time_from TEXT NOT NULL , time_to TEXT NOT NULL )");
db.execSQL("CREATE TABLE IF NOT EXISTS noofperiods (id INTEGER PRIMARY KEY, noofperiod INTEGER NOT NULL )");
答案 1 :(得分:0)
将PRIMARY
更改为PRIMARY KEY
试试
db.execSQL("CREATE TABLE IF NOT EXISTS timetable (id INTEGER PRIMARY KEY, day INTEGER NOT NULL , sub_id INTEGER NOT NULL , time_from TEXT NOT NULL , time_to TEXT NOT NULL )");
db.execSQL("CREATE TABLE IF NOT EXISTS noofperiods (id INTEGER PRIMARY KEY, noofperiod INTEGER NOT NULL )");
而不是
db.execSQL("CREATE TABLE IF NOT EXISTS timetable ( id INTEGER PRIMARY , day INTEGER NOT NULL , sub_id INTEGER NOT NULL , time_from TEXT NOT NULL , time_to TEXT NOT NULL )");
db.execSQL("CREATE TABLE IF NOT EXISTS noofperiods ( id INTEGER PRIMARY , noofperiod INTEGER NOT NULL )");