I have error on my foreign key.. Anyone can help me figure out on how to solve this problem.
//THIS IS MY ONCREATE METHOD @Override public void onCreate(SQLiteDatabase db) { // TABLE FOR USER String CREATE_TABLE = "CREATE TABLE " + TABLE_REGISTER + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT NOT NULL," + KEY_USER_NAME + " TEXT NOT NULL," + KEY_MOB_NO + " TEXT NOT NULL," + KEY_PASSWORD + " TEXT NOT NULL" + ");"; // TABLE FOR ALLOWANCE String CREATE_TABLE_ALLOWANCE = "CREATE TABLE " + TABLE_ALLOWANCE + "(" + ALLOWANCE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + USER_ALLOW_ID + " INTEGER NOT NULL," + ALLOWANCE_AMOUNT + " INTEGER NOT NULL," + " FOREIGN KEY ("+USER_ALLOW_ID+") REFERENCES "+TABLE_REGISTER+"("+KEY_ID+"));"; //TRIGGER String CREATE_TRIGGER_ALLOWUSER = "CREATE TRIGGER " + TRIGGER_USERALLOW + " BEFORE INSERT " + " ON " + TABLE_ALLOWANCE + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT " + KEY_ID + " FROM " + TABLE_REGISTER + " WHERE " + KEY_ID + "=new." + USER_ALLOW_ID + " ) IS NULL)" + " THEN RAISE (ABORT, 'Foreign Key Violation') END;" + " END;"; db.execSQL(CREATE_TABLE); db.execSQL(CREATE_TABLE_ALLOWANCE); db.execSQL(CREATE_TRIGGER_ALLOWUSER); //db.execSQL("PRAGMA foreign_keys = ON;"); } @Override public void onConfigure(SQLiteDatabase database) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { database.setForeignKeyConstraintsEnabled(true); } else { database.execSQL("PRAGMA foreign_keys=ON"); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub // Drop older table if existed Log.w(DataBaseHandler.class.getName(), "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS " + TABLE_REGISTER); db.execSQL("DROP TABLE IF EXISTS " + TABLE_ALLOWANCE); db.execSQL("DROP TABLE IF EXISTS " + TRIGGER_USERALLOW); // Create tables again onCreate(db); } //THIS IS MY LOGCAT 10-18 02:53:25.838 20439-20439/com.example.maecea.ipon2 E/SQLiteDatabase: Error inserting allowance_amount=300 android.database.sqlite.SQLiteConstraintException: Foreign Key Violation (code 19) at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method) at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:775) at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788) at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86) at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469) at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339) at com.example.maecea.ipon2.DataBaseHandler.addallowance(DataBaseHandler.java:143) at com.example.maecea.ipon2.TypeWeekly.OnProceedMonthlyClick(TypeWeekly.java:40) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) at android.view.View.performClick(View.java:4084) at android.view.View$PerformClick.run(View.java:16966) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. To post to this group, send email to android-developers@googlegroups.com. Visit this group at https://groups.google.com/group/android-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/af0cb3c9-8a20-4f81-8561-1f1b69c79b99%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.