Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'XXX' doesn't exist

【问题】

表肯定是创建了的,打包微服务启动还是提示不存在问题
Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'jyxpackaging-erp-activiti.ACT_GE_PROPERTY' doesn't exist

【原因】

这个问题是因为MySQL默认开启了对表名的大小写敏感,所以导致找不到你创建的表。

【解决】

1、查看数据库是否开启了对表名大小写限制

SHOW VARIABLES LIKE 'lower_case_table_names';

0: 表名存储为给定的大小写,比较是区分大小写的(Linux默认)。
1: 表名存储为小写,比较时也转换为小写。

2、如果value的值是 0,则进行修改,是 1 则不是这个原因,目前修改方案只需修改my.cnf中的配置即可

  • 查询my.cnf文件在哪 : whereis my.cnf

  • 修改配置文件: vim /etc/my.cnf ,将 lower_case_table_names = 1 加入到配置文件中

  • 输入后,按Esc建,在输入:wq!回车进行保存

  • 再输入sudo service mysql restart进行重启mysql数据库生效

  • 重启后,最后执行 SHOW VARIABLES LIKE 'lower_case_table_names'; 进行查询状态
posted @ 2024-08-20 15:47  changlinlo  阅读(129)  评论(0编辑  收藏  举报