360 Atals:Cause: java.sql.SQLException: Proxy Warning - near “status“: syntax error

慢慢南發表於2020-10-19

問題

在用360的Atals搭建mysql的主從分離時,用Java連線好搭建的服務出現以下的問題

在這裡插入圖片描述


### Error querying database.  Cause: java.sql.SQLException: Proxy Warning - near "status": syntax error
### The error may exist in file [E:\code\crocosmia\crocosmia\target\classes\mybatis\system\SysDictDataMapper.xml]
### The error may involve com.cecii.project.system.mapper.SysDictDataMapper.selectDictDataByType-Inline
### The error occurred while setting parameters
### SQL: select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark    from sys_dict_data         where status = '0' and dict_type = ? order by dict_sort asc
### Cause: java.sql.SQLException: Proxy Warning - near "status": syntax error
; uncategorized SQLException; SQL state [HY000]; error code [1105]; Proxy Warning - near "status": syntax error; nested exception is java.sql.SQLException: Proxy Warning - near "status": syntax error

後面用navicat去測試這條sql

結果如下:
1、 使用了 status關鍵字
在這裡插入圖片描述
2、沒使用status關鍵字
在這裡插入圖片描述

原因假想是:
通過連線atlas資料庫,atlas會對sql的校驗規則和mysql不同,導致這裡的status關鍵字在執行中導致報錯,系統無法正常啟動
只有通過對atlas校驗規則設定或者改變status欄位名稱來解決。

相關文章