【问题标题】:antlr.MismatchedTokenException: expecting "set", found 'INNER'antlr.MismatchedTokenException:期待“设置”,发现“内部”
【发布时间】:2026-01-08 10:10:01
【问题描述】:

【问题讨论】:

  • 请将代码作为文本包含(使用标记将其标记为代码),而不是代码的屏幕截图。这样可以更轻松地在一个地方查看内容。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: java spring spring-mvc spring-data-jpa hibernate-mapping


【解决方案1】:

所以问题出在查询上。普通旧 SQL 在更新后将不允许 INNER 关键字。

所以尝试以下方式:

UPDATE Voter as vt
       INNER JOIN Information info
         ON vt.id = info.id
       INNER JOIN Address ad
         ON info.id = ad.id
SET    vt.fatherName = :f, info.name=:n, ad.district=:d
WHERE  vt.id = :i

查看最小 Fiddler:https://www.db-fiddle.com/f/gpwgtinntePzSwx7VHJLgi/2

【讨论】:

  • 先生它在不工作中再次出现另一个错误 -> antlr.NoViableAltException:意外令牌:FROM
  • 你用的是什么数据库?
  • MySql 数据库先生
  • 更新了我上面的答案。请查看修改后的版本。
  • 抱歉先生再次出现错误,期待“设置”,找到“内部”。