gpt4 book ai didi

scala - 使用H2数据库时在Quill中执行插入或更新操作时发生编译错误

转载 作者:行者123 更新时间:2023-12-02 10:53:28 25 4
gpt4 key购买 nike

使用H2数据库时,是否可以在Quill中执行插入或更新操作?如果我添加到.insert操作.onConflictIgnore,则会出现编译错误:

[error] [...]/repository/HeadlinesRepository.scala:41:36: exception during macro expansion: 
[error] java.lang.IllegalStateException: Action ast can't be translated to sql: 'querySchema("headlines").insert(v => v.link -> ?, v => v.title -> ?).onConflictIgnore'
[error] at io.getquill.util.Messages$.fail(Messages.scala:15)
[error] at io.getquill.context.sql.idiom.SqlIdiom.$anonfun$actionTokenizer$1(SqlIdiom.scala:387)
[error] at io.getquill.idiom.StatementInterpolator$Tokenizer$$anon$1.token(StatementInterpolator.scala:17)
[error] at io.getquill.idiom.StatementInterpolator$TokenImplicit.token(StatementInterpolator.scala:27)
[error] at io.getquill.context.sql.idiom.SqlIdiom.$anonfun$astTokenizer$1(SqlIdiom.scala:57)
[error] at io.getquill.idiom.StatementInterpolator$Tokenizer$$anon$1.token(StatementInterpolator.scala:17)
[error] at io.getquill.context.sql.idiom.SqlIdiom$$anon$1.token(SqlIdiom.scala:49)
[error] at io.getquill.context.sql.idiom.SqlIdiom$$anon$1.token(SqlIdiom.scala:46)
[error] at io.getquill.idiom.StatementInterpolator$TokenImplicit.token(StatementInterpolator.scala:27)
[error] at io.getquill.context.sql.idiom.SqlIdiom.translate(SqlIdiom.scala:39)
[error] at io.getquill.context.sql.idiom.SqlIdiom.translate$(SqlIdiom.scala:23)
[error] at io.getquill.H2Dialect$.translate(H2Dialect.scala:20)
[error] at io.getquill.context.ContextMacro.translateStatic(ContextMacro.scala:51)
[error] at io.getquill.context.ContextMacro.translate(ContextMacro.scala:37)
[error] at io.getquill.context.ContextMacro.expand(ContextMacro.scala:24)
[error] at io.getquill.context.ContextMacro.expand$(ContextMacro.scala:21)
[error] at io.getquill.context.ActionMacro.expand(ActionMacro.scala:10)
[error] at io.getquill.context.ActionMacro.expandBatchAction(ActionMacro.scala:121)
[error] at io.getquill.context.ActionMacro.runBatchAction(ActionMacro.scala:71)

最佳答案

似乎没有。

insert or update (upsert, conflict)

Upsert is supported by Postgres, SQLite, and MySQL


https://github.com/getquill/quill

关于scala - 使用H2数据库时在Quill中执行插入或更新操作时发生编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56504596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com