TABLE_BLOCKED_SMS,TABLE_BLOCK_LIST 我有两个表格,您可以在图片中显示这些结构。我用下面的sqlite语句创建了这个表。问题是,当我添加一些数据时,TABLE_BLOCKED_SMS中名为(fk_id_block_list)的外键没有显示任何数据,但它应该显示TABLE_BLOCK_LIST中id_block_list列的ID。善意帮助。没有任何数据显示到外键列
TABLE_BLOCKED_SMS
public static final String CREATE_TABLE_BLOCKED_SMS = "CREATE TABLE " + TABLE_BLOCKED_SMS
+ "(" + ID_BLOCKED_SMS + " INTEGER PRIMARY KEY AUTOINCREMENT DEFAULT 0, "
+ MESSAGE_BODY + " TEXT,"
+ FK_ID_BLOCK_LIST + " INTEGER," +
"FOREIGN KEY(" + FK_ID_BLOCK_LIST + ") REFERENCES " + TABLE_BLOCK_LIST + "(" + ID_BLOCK_LIST +"))";
TABLE_BLOCK_LIST:
public static final String CREATE_TABLE_BLOCK_LIST = "CREATE TABLE " + TABLE_BLOCK_LIST
+ "(" + ID_BLOCK_LIST + " INTEGER PRIMARY KEY AUTOINCREMENT DEFAULT 0,"
+ ORIGINATING_ADDRESS + " TEXT)";
插入代码:
public boolean insertToBlockList(String originatingAddress,String messageBody){
try {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues value_TABLE_BLOCK_LIST = new ContentValues();
ContentValues value_TABLE_BLOCKED_SMS = new ContentValues();
value_TABLE_BLOCK_LIST.put(ORIGINATING_ADDRESS, originatingAddress);
db.insert(TABLE_BLOCK_LIST, null, value_TABLE_BLOCK_LIST);
value_TABLE_BLOCKED_SMS.put(MESSAGE_BODY, messageBody);
db.insert(TABLE_BLOCKED_SMS, null, value_TABLE_BLOCKED_SMS);
} catch (Exception e) {
Log.d("Insertion to Block list", " error is" + e.getMessage());
}
return true;
}
删除代码:
public int delete(long id){
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(TABLE_BLOCK_LIST, ID_BLOCK_LIST + " = ?", new String[]{Long.toString(id)});
}
你可以发表你插入的代码?你是否还在TABLE_BLOCK_LIST中插入了某些内容,以便FK_ID_BLOCK_LIST指向现有记录? –
我已发布请看现在@MaximBerezovsky –