cakephp Web服务器始终将模式更改为“ONLY_FULL_GROUP_BY”

fumotvh3  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(152)

当我为我的客户重新安装旧项目时,服务运行正常,但我发现有时它无法查询一些信息。从检查来看,这是因为@@Global.sql_mode和@@SESSION.sql_mode设置为“ONLY_FULL_GROUP_BY”,
解决它的步骤需要运行命令
现在这种情况每周发生三次。
有什么办法能让我永久性地修复它吗

beq87vna

beq87vna1#

如果您可以控制服务器示例,请编辑配置文件以关闭ONLY_FULL_GROUP_BY。

SELECT @@sql_mode;

上面的代码可能会返回类似于下面的内容-

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

然后,您可以将以下内容添加到配置文件中(与上面的列表相同,但删除了ONLY_FULL_GROUP_BY)-

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

根据您的CakePHP版本,您可以在您的db config中添加一个设置键-

'settings' => array(
            '@@SESSION.sql_mode' => "'TRADITIONAL'",
        ),

相关问题