关于达梦数据库兼容mysql GROUP BY查询
达梦数据库可通过设置COMPATIBLE_MODE参数兼容MySQL的GROUP BY规则:1)使用SYSDBA登录数据库;2)执行SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',4)将参数改为4(兼容MySQL模式);3)重启数据库服务使配置生效。该设置可避免修改SQL语句,直接解决"不是GROUP BY表达式"错误。默认值为0(达梦模式),改为4
·
如果希望仅通过配置达梦数据库而不修改代码来解决 “不是 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
更多推荐




所有评论(0)