J'essaie de créer une table mais continue d'obtenir la même erreur encore et encore et j'ai été googling pour la réponse sans aucun succès.Android SQLite Créer une table Problème
La requête est exécutée dans onCreate() est:
CREATE TABLE Posts
(
PostID TEXT PRIMARY KEY,
CourseID TEXT,
FOREIGN KEY (CourseID) REFERENCES Courses (CourseID) ON DELETE CASCADE,
PostStartDate INTEGER NOT NULL,
PostEndDate INTEGER NOT NULL,
TeacherID TEXT,
FOREIGN KEY (TeacherID) REFERENCES Teachers (TeacherID) ON DELETE CASCADE,
PostDescription TEXT,
PostHidden INTEGER DEFAULT(0)
)
L'erreur que je reçois est:
08-04 14:24:24.018: I/com.re.placed.DBHandler(10656): android.database.sqlite.SQLiteException: near "PostStartDate": syntax error (code 1): , while compiling: CREATE TABLE Posts (... (removed the rest of the query)
Je soupçonne que l'erreur pourrait avoir quelque chose à voir avec la clé étrangère ou la cascade de suppression. Les deux colonnes refenced sont créées:
CourseID TEXT PRIMARY KEY and TeacherID TEXT PRIMARY KEY
Et assurez-vous que les clés étrangères i sont utilisées ont écrit la méthode onOpen comme:
@Override
public void onOpen(SQLiteDatabase db) {
db.execSQL("PRAGMA foreign_keys = ON;");
super.onOpen(db);
}
Toute aide ou suggestions sont appréciés.
Cela fonctionne! Merci! :RÉ – Flipbed