I have two tables in my database. Those are user and message.
User table contains with,
- Userid (Primary key)
- UserName
- Password columns
Message table contains with,
- MessageId (Primary Key)
- Userid (Foreign key)
- Subject
- Message columns
After login user can send a message. So I want to save the above column details in the message table. But when I fill the table, userid is not getting as a foreign key. That column is empty like the following image.

These are my dbHandler code
public void onCreate(SQLiteDatabase db) {
String TABLE_USER_CREATE = "CREATE TABLE "+ UserTable.Users.TABLE_NAME+"("+
UserTable.Users._ID+" INTEGER PRIMARY KEY,"+
UserTable.Users.COLUMN_NAME+" TEXT,"+
UserTable.Users.COLUMN_PASSWORD+ " TEXT,"+
UserTable.Users.COLUMN_TYPE+ " TEXT"+" );";
db.execSQL(TABLE_USER_CREATE);
String TABLE_MESSAGE_CREATE = "CREATE TABLE "+ MessageTable.Messages.TABLE_NAME+"("+
MessageTable.Messages._ID+" INTEGER PRIMARY KEY,"+
MessageTable.Messages.COLUMN_USER+" TEXT,"+
MessageTable.Messages.COLUMN_SUBJECT+ " TEXT,"+
MessageTable.Messages.COLUMN_MESSAGE+" TEXT,"+
" FOREIGN KEY ("+ MessageTable.Messages.COLUMN_USER+") REFERENCES "+ UserTable.Users.TABLE_NAME+"("+ UserTable.Users._ID+"))";
db.execSQL(TABLE_MESSAGE_CREATE);
}
Save message Method:
public long saveMessage(String subjects, String messages){
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(MessageTable.Messages.COLUMN_SUBJECT,subjects);
contentValues.put(MessageTable.Messages.COLUMN_MESSAGE,messages);
long newRowId = db.insert(MessageTable.Messages.TABLE_NAME,null,contentValues);
db.close();
return newRowId; }
I'm new to android. Can somebody help me to fix this?