数据库 this is incompatible with sql_mode=only_full_group_by

嗯网上很多答案,基本都是直接复制别人的,也不知道源头是谁,呵呵这应该是数据库版本问题,执行一下

select @@GLOBAL.sql_mode;

然后你会得到一串数据,这个时候切记千万不要复制别的不知道哪里复制来的代码去执行,报错ok?比如下面这句

set@@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;

正确的应该是你得到的那串数据,把里面的ONLY_FULL_GROUP_BY去掉,其余保持不变去执行,比如下面,我得到的数据串是

@@GLOBAL.sql_mod

  ------------------------------------------------------------------------------------------------------------------------------------------

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;

然后再去执行 set@@GLOBAL.sql_mode=你结果去掉ONLY_FULL_GROUP_BY的字符串,变成下面这样

set@@GLOBAL.sql_mode='去掉ONLY_FULL_GROUP_BY之后剩余的字符串';

记住串要用引号,好多瞎鸡儿复制,字符串都省了,难道看不出来执行会报错吗?

posted @ 2022-01-19 18:16  正义的棒棒糖  阅读(32)  评论(0编辑  收藏  举报