我在代码

时间:2018-02-05 20:43:44

标签: android sqlite

“p:”android.database.sqlite.SQLiteException:near“on”:语法错误(代码1):,编译时:CREATE TABLE SubjectTable(id INTEGER PRIMARY KEY,subject_name TEXT,on_monday INTEGER,星期二INTEGER,on_wednesday INTEGER, on_thursday INTEGER,on_Friday INTEGER);“

1 个答案:

答案 0 :(得分:0)

您遇到的问题是SQL的语法错误是由列定义on Tuesday INTEGER引起的。 ON 是一个SQLite关键字,因此它不能是列名,除非强制,例如[on] Tuesday INTEGER可以使用(虽然列类型将是星期二INTEGER ,这可能不是问题)。

您可能希望列名为on_Tuesday,因此您应该将SQL更改为: -

CREATE TABLE SubjectTable(id INTEGER PRIMARY KEY,subject_name TEXT,on_monday INTEGER,on_tuesday INTEGER,on_wednesday INTEGER,on_thursday INTEGER,on_Friday INTEGER);

要实现此更改,您需要确保运行SQL。如果通过onCreate方法调用SQL,则应注意onCreate仅在创建数据库时自动运行一次。通常,强制“onCreate”运行的方法是删除App的数据或卸载App。另一种方法是增加版本号,这要求onUpgrade已编码,以便调用onCreate方法。