我正在使用jooq版本3.11.9,并且在本地安装了MySQL Ver 8.0.11。使用Mysql启动jooq连接时,出现以下错误:
org.jooq.exception.DataAccessException: SQL [select 1 as `one` from dual where exists (select 1 as `one` from `mysql`.`proc`)]; Table 'mysql.proc' doesn't exist
我了解MySQL Ver 8.0.11不包含此表。那么解决方案是什么?我无法降级MySQL版本,因为其他项目已经在使用该版本运行。
答案 0 :(得分:0)
您可以在mysql Release notes中看到:
以前,有关存储的例程和事件的信息存储在mysql系统数据库的proc和event表中。这些表不再使用。相反,有关存储的例程和事件的信息存储在mysql系统数据库中的例程,事件和参数数据字典表中。旧表使用MyISAM(非事务性)存储引擎。新表使用InnoDB(事务)引擎。
答案 1 :(得分:0)
该查询正是用来检查您是否在MySQL 8+上运行的。它不应引起错误,甚至不会引起堆栈跟踪(但可能不会产生调试消息)。您可以放心地忽略它。
如果您发现错误或堆栈跟踪消息,或者这导致代码生成失败,则可能是jOOQ的日志记录配置中的错误,我邀请您在此处提交:https://github.com/jOOQ/jOOQ/issues/new