作为项目的一部分,我正在制作跟踪用户在健身房锻炼的安卓应用程序。通过各种设置、重量和次数的锻炼和练习。这将与作为外键的锻炼 ID 建立 1:M 关系。我还是 android 和 sqlite 的新手,所以我只是想在继续之前检查下面的代码是否正确。
任何建议将不胜感激
数据库助手
public class DBHelper extends SQLiteOpenHelper {
public static String DATABASE_NAME = "gym_db";
private static final int DATABASE_VERSION = 1;
public static final String TABLE_WORKOUT = "workout_table";
public static final String WORKOUT_ID = "_id";
public static final String WORKOUT_NAME = "workout_name";
public static final String TABLE_EXERCISE = "exercise_table";
public static final String EXERCISE_ID = "exercise_id";
public static final String EXERCISE_NAME = "exercise_name";
public static final String EXERCISE_SET = "exercise_set";
public static final String EXERCISE_WEIGHT = "exercise_weight";
public static final String EXERCISE_REP = "exercise_rep";
public static final String createWorkoutTable = "CREATE TABLE" + TABLE_WORKOUT + "("
+WORKOUT_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ WORKOUT_NAME + " TEXT NOT NULL,"+
");";
public static final String createExerciseTable = " CREATE TABLE " + TABLE_EXERCISE + "("
+EXERCISE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ EXERCISE_NAME + " TEXT NOT NULL, "
+ EXERCISE_SET + " INTEGER NOT NULL, "
+ EXERCISE_WEIGHT + " INTEGER NOT NULL, "
+ EXERCISE_REP + " INTEGER NOT NULL, "
+ WORKOUT_ID + "FOREIGN KEY"+
"(;";
我也在onUpgrade方法中开启了外键
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
super.onOpen(db);
if (!db.isReadOnly()){
db.execSQL("PRAGMA foreign_keys=ON;");
}