2013-10-03 43 views
0

我試圖插入行的MySQL表像這樣的:是否可以使用Anorm在VARCHAR PK表中插入記錄?

create table CURRENCIES ( 
    code  VARCHAR(3), 
    description VARCHAR(30), 
    PRIMARY KEY (`code`) 
); 

我的Scala代碼是:

val pk: Option[String] = DB.withConnection { implicit conn => 
    SQL("INSERT INTO currencies (code, description) VALUES ({code}, {description});") 
     .on("code" -> code , "description" -> description) 
     .executeInsert() 
} 

但我得到一個錯誤,由於預期數字PK而我正在使用VARCHAR。我讀過關於ResultSetParser來實現這樣的插入,但我無法弄清楚如何使用它。

任何幫助?

回答

0

這裏的解決方案:

val pk: Option[String] = DB.withConnection { implicit conn => 
    SQL("INSERT INTO currencies (code, description) VALUES ({code}, {description});") 
    .on("code" -> code , "description" -> description) 
    .executeInsert[Option[String]](
        ResultSetParser.singleOpt[String](
         anorm.SqlParser.get[String]("1") 
       ) 
      ) 

}

相關問題