【发布时间】:2014-10-16 14:47:46
【问题描述】:
我发现这个答案可以解决一个领域 -> Inserting multiple values into table with anorm
var fields: List[String] = Nil
var values: List[(String,ParameterValue[_])] = Nil
for ((username,i) <- usernames.zipWithIndex) {
fields ::= "({username%s})".format(i)
values ::= ("username" + i, username)
}
SQL("INSERT INTO users (username) VALUES %s".format(fields.mkString(",")))
.on(values: _*)
.executeUpdate()
如何传递更多字段,例如用户名、地址、电话号码等?
我试过了……
def create(names: List[(String,ParameterValue[_])] ,addresses :List[(String,ParameterValue[_])]){
var fields: List[String] = Nil;
for((a,i) <- names.zipWithIndex){
fields ::= "({name%s},{address%s})".format(i)
}
DB.withConnection { implicit c =>
SQL("insert into table (name,address) values %s".format(fields.mkString(",")))
.on(names: _*, addresses: _*)
.executeUpdate()
}
}
我收到以下错误: "此处不允许使用 "_ *" 注释"
如果我可以对所有参数使用一个列表,那就更好了。
【问题讨论】:
标签: mysql scala playframework anorm