Sqlite excepción en crear sentencia de tabla
Tengo una database
con dos tablas. últimamente, he insertado una nueva fila ( key_today
) y obtengo la siguiente exception
sqlite
:
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 );
He cambiado los métodos con el fin de incluir la nueva fila, pero realmente no puedo encontrar lo que estoy haciendo mal.
- Manejo de bases de datos con 2 procesos
- Base de datos de diccionarios sin conexión para la aplicación de Android
- El grupo de conexiones no ha podido conceder una conexión a subproceso
- ¿El cursor permanecerá vivo después de cerrar la base de datos?
- Android: insertar registro sqlite con la columna AUTOINCREMENT
aquí está mi código, gracias de antemano
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 );";
- ¿Hay alguna forma más rápida de iterar a través de las filas de la consulta Sqlite?
- Cómo lograr lo siguiente en Realm para android
- Android json analizar y almacenar en la base de datos
- No se puede actualizar el campo TextView dentro de RecyclerView
- ¿Por qué utilizar sqlite Database en Android?
- Cómo reemplazar el archivo de base de datos sqlite existente con un nuevo archivo de base de datos en android
- Archivo no encontrado Excepción al intentar abrir base de datos de SQLite android
- Cómo almacenar datos de JSON analizados en SQLite
Check
es una palabra reservada en SQLite ; intenta cambiar el nombre de esa columna o ponerla en (escapó) comillas dobles en la instrucción SQL.
Esto es lo que está causando el problema:
... check text not null) ^^^^^
check
es una palabra clave en SQLite (y SQL en general).
Póngalo en comillas dobles como esta para evitar tales problemas:
... "check" text not null)