我需要在一个语句中插入多个值。这可能使用 groovy 的准备好的语句吗?我有以下内容
sql.execute("""
insert into all_priceuploaddummy (seller_sku) values (?.sku), (?.sku), (?.sku)
"""
, [[sku:1],[sku:2],[sku:3]])
但是那插入了第一个 sku 的 3 倍,1
如何在不遍历所有条目的情况下做到这一点?
最佳答案
您可以使用 withBatch(String, Closure)
方法在批处理中执行闭包(包含特定于关联准备语句的批处理操作)。
def updateCounts = sql.withBatch('insert into TABLENAME(a, b, c) values (?, ?, ?)') { ps ->
ps.addBatch([1, 2, 3])
ps.addBatch([10, 20, 30])
ps.addBatch(100, 200, 300)
}
关于mysql - 在 Groovy 中的一个 SQL 语句中插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36884489/