数据库 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之后剩余的字符串';
记住串要用引号,好多瞎鸡儿复制,字符串都省了,难道看不出来执行会报错吗?