我想一次插入到兩個表中。在sqlite中插入多行到多個表中的表
這需要這樣做。
將單行插入到一個表中,使用從第一個表中獲取的主鍵值作爲參考,獲取自動遞增的主鍵並將多行插入到其他表中。
這樣做的最好方法是什麼?
我想一次插入到兩個表中。在sqlite中插入多行到多個表中的表
這需要這樣做。
將單行插入到一個表中,使用從第一個表中獲取的主鍵值作爲參考,獲取自動遞增的主鍵並將多行插入到其他表中。
這樣做的最好方法是什麼?
SQLite內置last_insert_rowid()函數,但其返回值將在下一次插入後更改。
你必須閱讀你的程序的價值,並手動將其插入:
db.execute("INSERT INTO People(Name) VALUES (?)", ["Joe"])
id = db.last_insert_rowid
db.execute("INSERT INTO Pets(Owner, Name) VALUES (?,?)", [id, "Fluffy"])
db.execute("INSERT INTO Pets(Owner, Name) VALUES (?,?)", [id, "Spot"])
這取決於你是如何遞增的關鍵。如果要將當前的「下一個鍵值」存儲在另一個表中,則首先提取下一個鍵,並將其用於所有插入語句。最後增加另一個表中的「下一個鍵值」。
我使用的是自動增量密鑰 – Najiya 2014-09-10 13:20:36
好的,我意識到在發佈之後,我的道歉。 – 2014-09-10 13:21:27
謝謝。與獲取getWritableDatabase()的返回值相同,插入並使用該鍵作爲參考? – Najiya 2014-09-10 13:19:51
是的(如果你想知道如何在Android上做到這一點,你應該在問題中提到這一點)。 – 2014-09-10 13:32:16