Я получаю сообщение об ошибке, показанное ниже, и видел другие вопросы по этому вопросу, но ни одно из решений, похоже, не решило мою проблему.
Я создаю таблицу в функции OnCreate, я изначально включил внешние ключи, но закомментировал их, так как считал, что это проблема. Я создал другие таблицы, используя тот же формат, и это сработало. есть идеи, почему эта таблица не будет создаваться как остальные?
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("PRAGMA foreign_keys=ON");
db.execSQL("CREATE TABLE IF NOT EXISTS user (username VARCHAR PRIMARY KEY, password VARCHAR, firstName VARCHAR, surname VARCHAR, email VARCHAR)"); //Create table is not there.
db.execSQL("CREATE TABLE IF NOT EXISTS exercise (exerciseID VARCHAR PRIMARY KEY, exerciseName VARCHAR, muscleGroup VARCHAR, equipmentType VARCHAR)");
db.execSQL("CREATE TABLE IF NOT EXISTS workout (exerciseNameID VARCHAR,userID VARCHAR, date VARCHAR PRIMARY KEY, repRange INTEGER, weightKG INTEGER)");
// db.execSQL("create table " + TABLE_WORKOUT + " (COL_userID VARCHAR, COL_exerciseIDFK VARCHAR,COL_date date,COL_repRange INTEGER,COL_weightKG INTEGER)");
// FOREIGN KEY (COL_exerciseIDFK) REFERENCES " +TABLE_EXERCISE+" (exerciseID), FOREIGN KEY (COL_userID) REFERENCES " +TABLE_USER+ " (username))"
Метод вставки:
public void addWorkout(String exerciseNameID,String userID, String date, int repRange, int weightKG)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COL_exerciseIDFK, exerciseNameID);
values.put(COL_userID, userID);
values.put(COL_date, date);
values.put(COL_repRange, repRange);
values.put(COL_weightKG, weightKG);
//inserting rows
db.insert(TABLE_WORKOUT, null, values);
db.close();
}
Этот метод идентичен другому, который отлично работает.
Любые ответы приветствуются.