当前位置: 代码网 > it编程>数据库>Mysql > 达梦数据库兼容mysql GROUP BY查询的设置方式

达梦数据库兼容mysql GROUP BY查询的设置方式

2025年11月30日 Mysql 我要评论
如果希望仅通过配置达梦数据库而不修改代码来解决 “不是 group by 表达式” 的错误,可以通过调整达梦数据库的 sql模式兼容参数,使其兼容 mysql 等数据库的宽松分

如果希望仅通过配置达梦数据库而不修改代码来解决 “不是 group by 表达式” 的错误,可以通过调整达梦数据库的 sql
模式兼容参数,使其兼容 mysql 等数据库的宽松分组查询规则(即允许 select 中包含 group by 中未出现的非聚合字段)。

mysql中5.7之后的group by查询,需要改sql_mode的值,这里不做阐述,网上很多教程。
这里主要针对达梦数据库的设置方式。

1.登录达梦数据库(使用 sysdba 权限):

/opt/dmdbms/bin/disql sysdba/你的密码@localhost:5236

2.修改数据库参数 compatible_mode

达梦的 compatible_mode 参数用于设置数据库兼容模式,默认为 0(达梦模式),可改为 4(兼容 mysql 模式),该模式下会放宽 group by 的校验规则:

-- 查看当前兼容模式(默认0)
select sf_get_para_value(2, 'compatible_mode');

-- 修改为兼容mysql模式(需要重启数据库生效)
sp_set_para_value(2, 'compatible_mode', 4);
3.重启达梦数据库服务(使参数生效):
# 切换到root用户
su - root

# 重启服务(假设服务名为dmservicedmserver)
systemctl restart dmservicedmserver

附:达梦数据库group by分组

梦数据库类似oracle数据库分组的时候, 查询的语句每个字段都要添加到分组里面,如果不添加的会报错

查询语句里加入下图, 因为星号被屏蔽了(仅供参考/+ group_opt_flag(1)/)就可以对某一个字段分组了 

总结

到此这篇关于达梦数据库兼容mysql group by查询设置方式的文章就介绍到这了,更多相关达梦数据库兼容mysql group by查询内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com