1

我有两个表,其中第二个表有一个外键,它被定义为表 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 回答