如何知道python sqlite中最近添加的行的整数主键

时间:2014-02-03 12:18:07

标签: python database sqlite key

假设我有两个表如下:

CREATE TABLE forms (
    id INTEGER PRIMARY KEY, 
    form_name TEXT, 
 )

CREATE TABLE formsData (
    id INTEGER PRIMARY KEY, 
    formid INTEGER,
    data TEXT,
    FOREIGN KEY(formid) REFERENCES forms(id)
 )

我在表格表中插入了一些数据:

INSERT INTO forms(form_name) VALUES ('form1')
INSERT INTO forms(form_name) VALUES ('form2')

现在我想在第二个表格中添加一些数据:

INSERT INTO formsData(formid,data) VALUES ('XXXXXXXX','data for form1')
INSERT INTO formsData(formid,data) VALUES ('XXXXXXXX','data for form2')

我的问题是找到XXXXXXXX这是具有表格的id字段的外键。有没有办法从formData中添加这个id表格?

1 个答案:

答案 0 :(得分:1)

您可以使用last_insert_rowid()函数来引用先前插入的行ID(主键)。当然,您需要重新排序插入内容:

INSERT INTO forms(form_name) VALUES ('form1');
INSERT INTO formsData(formid,data) VALUES (last_insert_rowid(),'data for form1');
INSERT INTO forms(form_name) VALUES ('form2');
INSERT INTO formsData(formid,data) VALUES (last_insert_rowid(),'data for form2');