mysql 5.7 默認開啟了sql_mode的條件限制, 但是我修改該后,仍然無效, 不管是通過控制臺里面輸入 set sql_mode='', set gloale sql_mode = '', set session sql_mode = '', 還是在my.cfn檔案里面的 [mysqld] 選項下加入 sql_mode='', 都無法生效,
直接貼圖吧

存盤程序如下, 存盤程序中有對select * 出來的東西進行group by操作, mysql 5.7默認不支持了, 需要group by的欄位,必須要select該欄位才可以, 查看過mysql的官方手冊,他們就是說通上面的幾個set命令就可以取消這個限制, 真是無解了,折騰兩天了,求大神指教
DELIMITER $$
USE `qp_game_loggers`$$
DROP PROCEDURE IF EXISTS `MB_GR_GetBoxResult`$$
CREATE PROCEDURE `MB_GR_GetBoxResult`(IN iKindId INT(11), IN iUserId INT(11))
LABEL_PROC:
BEGIN
IF iKindId = 0 THEN
SELECT *, SUM(Score) AS TotalScore,MAX(curgame) AS RoundCount FROM gamebox_game_result WHERE boxid IN
(SELECT boxid FROM gamebox_game_result WHERE userid =iUserId
AND CollectTime >= NOW() - INTERVAL 3600*24*5 SECOND
ORDER BY CollectTime DESC) GROUP BY userid, boxid ORDER BY CollectTime DESC;
ELSE
SELECT *,SUM(Score) AS TotalScore, MAX(curgame) AS RoundCount FROM gamebox_game_result WHERE boxid IN
(SELECT boxid FROM gamebox_game_result WHERE userid =iUserId
AND kindid=iKindId AND CollectTime >= NOW() - INTERVAL 3600*24*5 SECOND
ORDER BY CollectTime DESC) GROUP BY userid, boxid ORDER BY CollectTime DESC;
END IF;
END LABEL_PROC$$
DELIMITER ;
uj5u.com熱心網友回復:
空的默認值包含了group那個選項uj5u.com熱心網友回復:
貌似不對吧, http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html
mysql官網解釋說"To clear the SQL mode explicitly, set it to an empty string using --sql-mode="" on the command line, or sql-mode="" in an option file."
uj5u.com熱心網友回復:
請問樓主解決了嗎?uj5u.com熱心網友回復:
設定完重連下資料庫試試,sql陳述句執行后,資料庫不重連,還是會報錯的。(希望可以幫到你)uj5u.com熱心網友回復:
樓主解決了嗎?我看網上也都是這種回復,我也是改成空了都還是不行,組態檔和navicat直接set都試了,我也是存盤程序。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/48452.html
標籤:MySQL
上一篇:Zookeeper作業程序詳解
