【问题标题】:Kotlin Exposed - How to insert if not exists, and on conflict?Kotlin Exposed - 如果不存在和冲突如何插入?
【发布时间】:2018-07-03 15:35:06
【问题描述】:

我环顾四周,但似乎无法找到如何使用 Kotlin 的 Exposed SQL 框架“在不存在时插入”或“在冲突时插入”。我目前正在编写原始 SQL 语句并按原样执行它们。在某些情况下,我认为我无法避免这种情况,但如果可能的话,我更愿意使用该框架。我没有看到 DSL 或 DAO 语法的任何选项。

编辑:

对于任何可能遇到此问题的人,Tapac 的评论对我有用。

使用 Table.insertIgnore() 表示“如果不存在则插入”,并且在 https://github.com/JetBrains/Exposed/wiki/FAQ#q-is-upsert-supported 存在一个 upsert 示例。

【问题讨论】:

  • 您可以尝试使用Table.insertIgnore 表示“如果不存在则插入”和upsert (github.com/JetBrains/Exposed/wiki/FAQ#q-is-upsert-supported) 表示“冲突时插入”。
  • 啊,谢谢!当我阅读代码时,我真的不知道 .insertIgnore 是什么意思。完美运行。我还没有尝试过upsert,但是我已经查看了链接,我想我现在应该可以了。再次感谢!
  • @Tapac 你能把它作为一个答案,所以也许这个问题可以作为“已回答”结束吗?

标签: kotlin kotlin-exposed


【解决方案1】:

您可以尝试将 Table.insertIgnore 用于“如果不存在则插入”,将 upsert (github.com/JetBrains/Exposed/wiki/FAQ#q-is-upsert-supported) 用于“冲突插入”。

【讨论】:

    猜你喜欢
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    相关资源
    最近更新 更多