微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlite中的递归`rowid`

如何解决sqlite中的递归`rowid`

我有一个带两列的sqlite表t:称为ROWID的{​​{1}}主键列和作为{{1}的外键的列id }本身:

c

只要t引用已经插入的行,插入就很简单,但是我不确定如何插入CREATE TABLE t ( id INTEGER PRIMARY KEY,c INT NOT NULL,FOREIGN KEY (c) REFERENCES t(id)); 引用该行本身的行。在sqlite中可以吗?

我知道sqlite能够返回最后插入的行ID,因此我可以一起破解:

  1. 交易开始
  2. 插入初步行,其中c指向虚拟值
  3. 获取最后插入的行ID
  4. 将初步行升级为最终形式,现在使用c的正确值
  5. 提交交易

这是正确的方法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。