mysql设置max_sp_recursion_depth,sql_mode

mysql 中设置 @@max_sp_recursion_depth
select @@max_sp_recursion_depth;
今天在mysql 写存储过程递归调用时,发现老是报错(recovery limit 0(as set by the max_sp_recursion_depth));后来百度下发现
max_sp_recursion_depth设置不对;
这个修改涉及到全局和session级修改, 全局修改的话 需要 有super权限: set global max_sp_recursion_depth=2, session级修改的话只对当前连接有效,不需要加global。


select @@global.sql_mode;
'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

set @@GLOBAL.sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY";
set @@SESSION.sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY";

sql_mode常用值
ONLY_FULL_GROUP_BY:
 
对于GROUPBY聚合操作,如果在SELE

你可能感兴趣的:(mysql)