【发布时间】:2012-03-14 01:35:40
【问题描述】:
假设我们定义了一个表:
CREATE TABLE IF NOT EXISTS 信号(sigid INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)
此表最初是空的。 我想通过选择获取给定 name 的 sigid,如果 name 不存在,添加它并获取新的自动增量身份证。
我想使用这个查询,以便在需要时自动生成一个新的 ID,用作另一个表中的外键。我必须注意表演,所以我不能继续:
- 检查名称是否存在并使用 SELECT 返回 id
- 如果返回的 id 为 null,则使用 INSERT 创建一个新条目
- 使用新的 SELECT 再次获取新 ID
是否可以用一个类似 SELECT 的查询来做到这一点?
谢谢!
【问题讨论】: