第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQLite 外鍵為空 AndroidStudio

SQLite 外鍵為空 AndroidStudio

胡說叔叔 2022-03-10 15:51:52
我已經(jīng)嘗試了我在 Stackoverflow 中找到的所有內(nèi)容,但沒有任何幫助,這就是我再次詢問的原因。我嘗試在 android 中使用 sqlite 創(chuàng)建一個數(shù)據(jù)庫,但是當我打開我的數(shù)據(jù)庫以查看我的程序保存的內(nèi)容時,我通過這個外鍵始終是 null 值。這是我的代碼:@Override    public void onCreate(SQLiteDatabase db) {        db.execSQL("create table " + TABLE_PERSON +" (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, IDENTIFICATION INTEGER)");        db.execSQL("create table " + TABLE_LOCATION +" (ID INTEGER PRIMARY KEY AUTOINCREMENT, LOCATION TEXT, EMPLOYEE INTEGER , FOREIGN KEY(EMPLOYEE) REFERENCES person_table(IDENTIFICATION))");}sqldatabse的畫面有人能幫我嗎?方法代碼:public boolean addDataToLocation(String Location){    SQLiteDatabase db = this.getWritableDatabase();    ContentValues contentValues = new ContentValues();    contentValues.put(COLL_2, Location);    long result = db.insert(TABLE_LOCATION, null, contentValues);    if(result == -1)        return false;    else        return true;
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經(jīng)驗 獲得超10個贊

您似乎有兩個問題/誤解。

首先是指定外鍵不會自動選擇合適的值并使用這樣的值更新列。而是定義一個外部添加了一個約束,該約束表明該值必須是存在于父表的相應(yīng)列中的值。如果沒有,就會發(fā)生沖突。

因此,您必須確定一個合適的值(在您的情況下是現(xiàn)有的IDENTIFICATION值)。

二是Android自帶的SQLite,默認沒有開啟外鍵支持??梢酝ㄟ^使用打開外鍵支持

注意不能在事務(wù)中打開外鍵支持。因此,建議盡快打開外鍵支持。

  • 如果用作 SQLiteOpenHelper 的子類,則建議覆蓋onConfigure方法并使用setForeignKeyConstraintsEnabled方法。


查看完整回答
反對 回復(fù) 2022-03-10
  • 1 回答
  • 0 關(guān)注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號