我正在使用Scala的Slick和PostgreSQL.我和单PK的桌子一起工作得很好.现在我需要使用具有多个PK的表:
case class Report(f1: DateTime,
f2: String,
f3: Double)
class Reports(tag: Tag) extends Table[Report](tag, "Reports") {
def f1 = column[DateTime]("f1")
def f2 = column[String]("f2")
def f3 = column[Double]("f3")
def * = (f1, f2, f3) <> (Report.tupled, Report.unapply)
def pk = primaryKey("pk_report", (f1, f2))
}
val reports = TableQuery[Reports]
Run Code Online (Sandbox Code Playgroud)
当我有空桌并使用reports.insert(report)它很好.但是,当我使用reports.insertOrUpdate(report)我接收和例外时:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: syntax error at end of input
Position: 76
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at ....
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?怎么解决?
提前致谢.
PS.我尝试了解决方法 …