为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:win10
【CPU】: i7-8550U
【问题描述】*:数据库从Mysql5.7迁移至DM8,运行后端报“无效的列名”,多个表中的多个字段都出现这个错误,下面截图仅截取其中一个。
项目用的是若依框架前端VUE+后端Springboot,
依赖:mybatis-plus3.4.2;JDK1.8;已在社区搜索相关求助挨个试过了。。。。
达梦相关依赖用的是:
<!--达梦数据库驱动-->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.3.140</version>
</dependency>
hibernate6.2
数据库其他设置:1.字符集UTF-8;2.大小写敏感:否;3.字段列名全小写,后端MAPPER中也是小写,保持一致。4.设置了兼容性。
刚刚有个朋友回复加单引号'',是正确的,我在后端的mapper里把报错的字段加上单引号''(原来是双引号""或干脆没有引号),但是不知道这位朋友几分钟后为啥突然删评论了。。。。
以及,我的数据库明明设了大小写不敏感了呀,为什么还要加单引号才行呀,而且还不是所有的字段都有问题,只是一部分有问题,不知道其中的规律是什么
顶顶,求大佬关注解答
很神奇,我这边对sql关键字的这种字段好像是加上双引号才成果
我测试了下,仅供参考:
mysql中字符串可以用双引号括起:
DM中,字符串要用单引号括起,双引号括起的被识别为表名或字段名:
我的兼容参数也是4
貌似要把字符串改成单引号括起。
补充:数据库初始化的时候设置了大小写不敏感,从管理工具里看也显示的是不敏感,但是好像不生效;因为在DM管理工具里写查询SQL时,表名和字段名不加“”是查不出东西的