小编Owe*_*eby的帖子

Kotlin 公开的批量插入无法按文档工作

我正在尝试使用 Kotlin Exposed 将记录批量插入到 SQL 表中。我已经按照公开文档设置了代码,但是,正在执行的 SQL 语句是单独的插入语句而不是 1 个批量插入语句。

位于此处的文档: https: //github.com/JetBrains/Exposed/wiki/DSL 有关批量插入的内容如下:

批量插入

批量插入允许在一个 sql 语句中将实体列表映射到数据库原始数据中。它比一条一条插入效率更高,因为它只启动一条语句。这是一个例子:

    val cityNames = listOf("Paris", "Moscow", "Helsinki")
    val allCitiesID = cities.batchInsert(cityNames) { name ->
      this[cities.name] = name
    }
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

    val mappings: List<Triple<String, String, String>> = listOf(triple1, triple2, triple3)
    transaction {
        TableName.batchInsert(mappings) {
            this[TableName.value1] = it.first
            this[TableName.value2] = it.second
            this[TableName.value3] = it.third
        }
    }
Run Code Online (Sandbox Code Playgroud)

我期望看到打印的是 1 个批量插入语句,其语法如下

INSERT INTO TableName (value1, value2, value3) values
(triple1value1, triple1value2, triple1value3),
(triple2value1, triple2value2, triple2value3),
(triple3value1, triple3value2, triple3value3), ... …
Run Code Online (Sandbox Code Playgroud)

kotlin-exposed

7
推荐指数
1
解决办法
8469
查看次数

标签 统计

kotlin-exposed ×1