我正在寻找一种方法来生成多个列的UPDATE查询,这些列只在运行时已知 .
例如,给定一个 List[(String, Int)]
,如何为列表中的所有键/值对生成 UPDATE <table> SET k1=v1, k2=v2, kn=vn
形式的查询?
我发现,给定一个键/值对,一个普通的SQL查询可以构建为 sqlu"UPDATE <table> SET #$key=$value
(其中密钥来自可信来源以避免注入),但我没有成功将其推广到更新列表没有为每个运行查询 .
这可能吗?
1 回答
这是一种方法 . 我在这里创建一个表定义T,其中表和列名称(TableDesc)作为隐式参数 . 我本以为应该可以明确地设置它们,但我找不到它 . 对于示例,创建表查询实例,aTable和bTable . 然后我插入并选择一些值,最后我更新了bTable中的值 .
我最后得到了sleep语句断言Future.onComplete在应用程序结束之前有时间完成 . 还有其他方法吗?