【发布时间】:2016-12-11 21:47:12
【问题描述】:
我正在努力向弱实体插入正确的键值以及插入定义的强实体。
这两个实体:
CREATE TABLE 'key' (
'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
...
CREATE TABLE 'key_data_rsa' (
'id_key' INTEGER NOT NULL PRIMARY KEY REFERENCES 'key' ('id'),
...
我需要将键元数据插入到表“key”中,并将相应的键数据插入到表“key_data_rsa”中,最好在一个查询中。
据我了解,必须在插入“key_data_rsa”条目之前插入“key”条目,因为“key”的“id”必须首先存在。
问题是,如果我分两步执行此操作,我会忘记“key”条目 - “key”的唯一保证唯一键是它的“id”,一旦插入,我就不会能够再次选择它以获得“id”。
在这种情况下如何向弱实体插入数据以保持与强实体的正确连接?
请不要评论或质疑方案和用例,除非它们有严重错误。谢谢。
-米。
【问题讨论】:
-
您使用什么语言访问数据库?
-
Perl DBI。这有什么关系?
-
检查stackoverflow.com/questions/6242756/…,看看你是否可以在Perl中应用相同的逻辑(这使得@CL.question相关)
-
这对我来说与 perl 无关,因为我不使用这种程序化方法,但在 cmets 中我找到了与 SQLite 相关的实际解决方案 - last_insert_rowid() 函数。与此同时,下面的 Stephan Lechner 也提出了同样的观点。所以谢谢,即使可能不是预期的那样,评论也很有用:)
-
点是最后插入rowid但作为光标的属性
标签: sql sqlite sql-insert weak-entity