首页 >> 大全

MySql切换到达梦数据库,各种问题解决记录

2023-12-20 大全 26 作者:考证青年

参考官方文档:

1. 关键字导致的报错:如ref,,top,等

Error -2007: 第 1 行, 第 117 列[ref]附近出现错误: 
语法分析出错

解决方案:修改关键字即可

2. 查询列包含大字段,导致的报错

Error -2685: 第42 行附近出现错误:
试图在blob或者clob列上排序或比较	

解决方案:需要将数据库参数设置为1,

之后数据库便支持查询列,以及、ORDER BY、分析函数和集函数支持对大字段进行处理。

3. 和using函数不支持导致的报错

Error -2007: 第 32 行, 第 85 列[using]附近出现错误: 

解决方案:

找到错误语句:(e. using gbk) asc

该功能是为了按照拼音首字母排序,

替换为 (e.,‘ = ’)即可解决。

4. where条件后的字段值使用双引号导致

Error -2111: 第36 行附近出现错误:
无效的列名[topic]

解决方案:

字段名是小写的情况下,字段值必须使用单引号,因为双引号会把值当成列名。所以需要把双引号改为单引号,

如:and d.=“topic” 改为 ‘topic’

5. 自增主键导致,表设置了主键自增,但是语句又设置了主键值

Error -2723: 仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值

解决方案:

需要考虑是否分表,如果是分表,去掉表的自增;如果是普通单表,可以去掉自制定的主键值。

注意:如果想直接获取自增主键ID的值,可以在sql方法上加上一下两个属性:

	useGeneratedKeys="true" keyProperty="id" 

6. 使用单引号修饰查询列别名导致

Error -2007: 第 4 行, 第 220 列[']附近出现错误: 
语法分析出错

解决方案:查询列可以用双引号修饰,也可以不用引号修饰,但不能使用单引号,因为单引号是用来修饰字段值的

如b.id AS ‘’ 必须改为 b.id AS

7. 日期运算语法不支持&导致

Error -2007: 第 7 行, 第 99 列[7]附近出现错误: 
语法分析出错

解决方案:

获取七天前的时间:(now(), 7 day ),

获取30分钟后的时间:(NOW() , 30 )

替换为 ((), -7) , + 30 / 24 / 60

8. 语法不支持导致

Error -2207: 第24 行附近出现错误:
无法解析的成员访问表达式[group_concat]

解决方案:

(r.)替换为 (r.,‘,’)

9. 修改语句的列重复导致

Error -2114: 第77 行附近出现错误:
重复的列名[invalid] 

解决方案:去除多余的查询列 即可

10. 日期转换格式语法不支持导致

Error -2007: 第 5 行, 第 128 列[10]附近出现错误: 
语法分析出错

解决方案:

(, ‘%Y-%m-%d %H:%i’)

替换为 (, ‘YYYY-MM-:MI’) 即可

11. 日期运算语法不支持导致

解决方案:

(now(), )

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了