我有一张database
,有两张桌子。最近,我插入了一个新行(key_today
),我得到了以下sqlite
exception
:
android.database.sqlite.SQLiteException: near "text": syntax error: create table tasks (_id integer primary key autoincrement, title text not null,location text not null, body text not null , goaldate text not null , absolutedate text not null , currentdate text not null , prio text not null, done text not null, category text not null, timespent text not null, pososto text not null, father text not null, check text not null );
我已经更改了方法以包含新行但我真的找不到我做错了什么。
这是我的代码,提前谢谢
public static final String KEY_TITLE = "title";
public static final String KEY_BODY = "body";
public static final String KEY_ROWID = "_id";
public static final String KEY_FATHER="father";//father's id
public static final String KEY_location = "location";
public static final String KEY_GOAL_DATE = "goaldate";
public static final String KEY_ABSOLUTE_DATE = "absolutedate";
public static final String KEY_DATE_CURRENT = "currentdate";
public static final String KEY_PRIO= "prio";
public static final String KEY_DONE = "done";
public static final String KEY_CATEGORY = "category";
public static final String KEY_TIME_SPEND = "timespent";
public static final String KEY_POSOSTO = "pososto";
public static final String KEY_TODAY= "check";
public static final String KEY_STITLE = "atitle";
public static final String KEY_ROID = "_id";
public static final String KEY_SCOLOR = "color";
private static final String TAG = "ListDatabase";
/**
* @uml.property name="mDbHelper"
* @uml.associationEnd
*/
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
/**
* Creating database tables
*/
private static final String DATABASE_CREATE =
"create table tasks (_id integer primary key autoincrement, "
+ "title text not null,"
+"location text not null, "
+ "body text not null , "
+" goaldate text not null , "
+" absolutedate text not null , "
+" currentdate text not null , "
+" prio text not null, "
+" done text not null, "
+" category text not null, "
+" timespent text not null, "
+" pososto text not null, "
+" father text not null, "
+" check text not null );";
答案 0 :(得分:4)
Check
是a reserved word in SQLite;尝试重命名该列或将其放入SQL语句中的(转义)双引号。
答案 1 :(得分:3)
以下是造成问题的原因:
... check text not null)
^^^^^
check
是SQLite中的关键字(通常是SQL)。
将它放在这样的双引号中以避免此类问题:
... "check" text not null)