clojure – 获取插入的实体的ID在数据库?
发布时间:2020-12-12 16:47:38 所属栏目:MsSql教程 来源:网络整理
导读:在数据库中运行一个事务来插入一个值后,我如何使用事务的返回值来获取创建的任何实体的id? 以下是插入后获得的返回值的示例: #promise$settable_future$reify__4841@7c92b2e9: {:db-before datomic.db.Db@62d0401f,:db-after datomic.db.Db@bba61dfc,:tx-da
在数据库中运行一个事务来插入一个值后,我如何使用事务的返回值来获取创建的任何实体的id?
以下是插入后获得的返回值的示例: #<promise$settable_future$reify__4841@7c92b2e9: {:db-before datomic.db.Db@62d0401f,:db-after datomic.db.Db@bba61dfc,:tx-data [#Datum{:e 13194139534331 :a 50 :v #inst "2013-06-19T11:38:08.025-00:00" :tx 13194139534331 :added true} #Datum{:e 17592186045436 ..... 我可以看到底层基准…如何提取它们的值? 解决方法使用 d/resolve-tempid.如果要处理单个实体,请查看:tx-data将工作,但如果您的事务包含多个实体,则不会知道它们出现在以下位置的顺序:tx-data.您应该使用(d / tempid)或其文字表示#db / id [:db.part / user _negativeId_]向您的实体提供临时ID(在处理之前),然后使用d / resolve-tempid从你的临时id到数据库给出的实际id.代码看起来像: (d/resolve-tempid (d/db conn) (:tempids tx) (d/tempid :db.part/user _negativeId_)) 有关完整代码示例,请参阅此gist. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 与varchar(255)相比,使用varchar(5000)会不好
- sqlserver??varchar?????int?????????
- 索引的查询路径6
- sql-server – a = 0和b = 0的性能和… z = 0 vs b c d = 0
- sqlserver dbo
- SQLserver --安装程序无法打开注册表项 UNKNOWN\Compon
- Report Service 之 RDLC(一)
- sql-server-2008 – SQL Server 2008 SELECT * FROM @varia
- 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重
- SQL2005的维护计划无法删除的解决方法