当我为我的客户重新安装旧项目时,服务运行正常,但我发现有时它无法查询一些信息。从检查来看,这是因为@@Global.sql_mode和@@SESSION.sql_mode设置为“ONLY_FULL_GROUP_BY”, 解决它的步骤需要运行命令现在这种情况每周发生三次。有什么办法能让我永久性地修复它吗
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'", ),
1条答案
按热度按时间beq87vna1#
如果您可以控制服务器示例,请编辑配置文件以关闭ONLY_FULL_GROUP_BY。
上面的代码可能会返回类似于下面的内容-
然后,您可以将以下内容添加到配置文件中(与上面的列表相同,但删除了ONLY_FULL_GROUP_BY)-
根据您的CakePHP版本,您可以在您的db config中添加一个设置键-