【问题标题】:How to access generated key for clojure jdbc insert如何访问为 clojure jdbc 插入生成的密钥
【发布时间】:2015-01-16 19:52:37
【问题描述】:

如何从返回的地图中获取生成的密钥。它似乎以“()”结尾,我似乎不能像普通键一样使用它。

(defn create-map-db [mapname]
  (insert! db-settings :MAP_TABLE {:M_NAME mapname})
  )

(first (create-map-db "Moskau"))
=> {:scope_identity() 3}

(type (first (create-map-db "Moskau")))
=> clojure.lang.PersistentArrayMap

(get (first (create-map-db "Moskau")) :scope_identity())
=> ()

(get (first (create-map-db "Moskau")) :scope_identity)
=> nil

【问题讨论】:

    标签: jdbc clojure


    【解决方案1】:

    我可以将以下内容视为最便携的解决方案:

    (first (vals (first (create-map-db "Moskau"))))
    

    但如果你真的想要,你可以直接使用以下方法访问密钥:

    (def generated-key (keyword "scope_identity()"))
    (generated-key (first (create-map-db "Moskau")))
    

    这也可用于获取所有生成的密钥:

    (map generated-key (create-map-db "Moskau"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-24
      • 2017-07-30
      • 2020-03-24
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多