1

2つのテーブルがあり、2番目のテーブルにはテーブル1の主キーとして定義されている外部キーがあります。追加操作で、新しく追加されたテーブル1キーを参照して、テーブル2の外部キーとして使用するにはどうすればよいですか?

// Project Table columns names
private static final String KEY_ID = "id"; // Primary, integer
private static final String KEY_NAME = "name"; // Unique, text

// Images Table column names
private static final String KEY_IM_ID = "id"; // Primary, integer
private static final String IM_URI = "uri"; // text
private static final String PROJ_IMAGE_ID = "proImgId"; // foreign for Projects Table

public void addProject(Project project) {

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values_PT = new ContentValues(); // PROJECTS TABLE
    ContentValues values_IT = new ContentValues(); // IMAGES TABLE

    values_PT.put(KEY_NAME, project.getName()); // project name
    // does the KEY ID get added on its own?

    values_IT.put(IM_URI, project.getURI()); // image uri
            values_IT.put(PROJ_IMAGE_ID, ????????); 
    }

PROJ_IMAGE_IDにはKEY_IDの値が必要ですが、それを取得する方法がわかりません。これを行う方法はありますか?

4

1 に答える 1

1

ID列がとして宣言されている場合INTEGER PRIMARY KEY、それらは自動インクリメントされ、挿入時に設定しないと自動的に値を取得します。

新しいレコードのIDを取得するには、実際に最初にレコードを挿入する必要があります。新しいIDは、insert()関数の戻り値です。

于 2012-10-25T17:54:17.057 に答える