MySQL - ERROR 1406

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL - ERROR 1406相关的知识,希望对你有一定的参考价值。

1.1.1  现象

执行一个存储过程,出现如下错误:

请更正下列输入错误:

CDbCommand 无法执行 SQL 语句: SQLSTATE[HY000]: General error: 1456 Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine sp_rebuild_booktype. The SQL statement executed was: call sp_rebuild_booktype (:parentid)

1.1.2  原因

因为存储过程递归调用了,但是没有设置递归层次,所以导致出现这个错误。

1.1.3  解决

在存储过程中增加如下代码:

SET @@max_sp_recursion_depth = 10;

 

或者在mysql中执行如下命令设置全局变量:

SET global max_sp_recursion_depth = 10;

 

或者在MY.INI中增加如下参数:

max_sp_recursion_depth = 10

以上是关于MySQL - ERROR 1406的主要内容,如果未能解决你的问题,请参考以下文章

MySQL报错:ERROR 1406 (22001) at line 486: Data too long for column 'COMMENTS' at row 1

错误代码:1406。列的数据太长 - MySQL

MySQL 太长 varchar 截断/错误设置

MySQL提示1406-数据太长怎么改都添加不了新数据

Mysql text类型字段存储提示错误信息 String data,right truncated:1406 Data too long for column 'content' a

mysql workbench插入表数据时有中文就报错,怎么解决