Estou desenvolvendo uma aplicação que precisa usar um banco de dados e eu precisei fazer uma alteração antes eu tinha uma tabela assim:
[code]
public static final String CREATE_TABLE_TREINOS = "CREATE TABLE "
+ TABLE_TREINOS + “(” + ID + " INTEGER PRIMARY KEY AUTOINCREMENT, “
+ EXERCICIO + " INTEGER, FOREIGN KEY(” + EXERCICIO
+ ") REFERENCES " + TABLE_EXERCICIOS + “(” + ID + “));”;
/code]
Nesse caso o banco estava rodando perfeitamente, o problema é que eu tenho que adicionar mais uma chave estrangeira no caso o código ficou assim:
public static final String CREATE_TABLE_TREINOS = "CREATE TABLE "
+ TABLE_TREINOS + "(" + ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ EXERCICIO + " INTEGER, FOREIGN KEY(" + EXERCICIO
+ ") REFERENCES " + TABLE_EXERCICIOS + "(" + ID + "), "
+ FICHA + " INTEGER NOT NULL, FOREIGN KEY(" + FICHA
+ ") REFERENCES " + TABLE_FICHAS + "(" + ID + "));";
Quando eu adicionei o a coluna Fichas começou a da esse erro:
03-19 14:23:00.953: E/AndroidRuntime(14997): Caused by: android.database.sqlite.SQLiteException: near "ficha": syntax error: , while compiling: CREATE TABLE Treinos(id INTEGER PRIMARY KEY AUTOINCREMENT, exercicio INTEGER NOT NULL, FOREIGN KEY(exercicio) REFERENCES Exercicios(id), ficha INTEGER NOT NULL, FOREIGN KEY(ficha) REFERENCES Fichas(id);