我试图插入一些数据,apple_reportDB但我得到错误Too many arguments for method in the insert query
import scala.slick.driver.MysqlDriver.simple._
case class AppleReport(quantity:String,price:String,sale_amount:String)
//tables
class Suppliers(tag: Tag)
extends Table[AppleReport](tag, "apple_report") {
def quantity=column[String]("quantity")
def price=column[String]("price")
def sale_amount=column[String]("sale_amount")
def * =(quantity,price,sale_amount) <> (AffiliateReportFields.tupled,AffiliateReportFields.unapply)
}
//declaring interface
val suppliers: TableQuery[Suppliers] = TableQuery[Suppliers]
val db=Database.forURL("jdbc:mysql://localhost:3306/apple_reportDB","root","",null, driver="com.mysql.jdbc.Driver")
db.withSession { implicit session =>
//create table
suppliers.ddl.create
//Insert data
suppliers += ("apple","cow","cat")
}
Run Code Online (Sandbox Code Playgroud)
你的Suppliers桌子延伸了Table[AppleReport].因此,您的insert语句需要一个case类的单个对象AppleReport.
但是,您使用3个字符串调用方法,("apple","cow","cat")因此错误.将其更改为AppleReport("apple","cow","cat"),您的代码将起作用