【发布时间】:2011-04-29 04:16:12
【问题描述】:
我有两个通过外键链接的表。示例:
"CREATE TABLE one (id INTEGER PRIMARY KEY, data REAL, time TEXT NOT NULL DEFAULT (datetime('now')));"
"CREATE TABLE 二(id INTEGER PRIMARY KEY, parent INTEGER, CONSTRAINT fc_two FOREIGN KEY (parent) REFERENCES one(id));"
所以我想使用嵌入式 JOIN 执行 INSERT INTO,但我已经尝试过(然后用 Google 搜索),显然它不起作用。我确实找到了一种使用名为@@Identity 的方法,但这似乎不适用于SQLite。基本上,我需要:
- 将数据插入一个
- 查找我刚刚插入的行的“id”值
- 使用我刚刚从一个中获得的 id 值将数据插入两个
1 和 3 很简单,但要获得 2,我需要查询我刚刚插入的那个。没有任何数据列(id 除外)是唯一的,并且唯一的组合(所有非 id 列的集合作为一个整体是唯一的,而不是任何单独的列)是不可能可靠地查询的。
执行此操作的最佳方法是什么?
【问题讨论】: