我的存储过程如下:CREATE PROCEDURE `sp_test`()
BEGIN create temporary table tmpRightTable ( objChk varchar(255), ModelName varchar(50), Operator varchar(500), PModelName varchar(50) ); DROP TABLE IF EXISTS tmpRightTable;end; 调用:call sp_test();调用一两次没有问题,但是连续调用几次就出现Column length too big for column 'Operator' (max = 32767); use BLOB or TEXT instead的错误。
BEGIN create temporary table tmpRightTable ( objChk varchar(255), ModelName varchar(50), Operator varchar(500), PModelName varchar(50) ); DROP TABLE IF EXISTS tmpRightTable;end; 调用:call sp_test();调用一两次没有问题,但是连续调用几次就出现Column length too big for column 'Operator' (max = 32767); use BLOB or TEXT instead的错误。
mysql> CREATE PROCEDURE `sp_test`()
-> BEGIN
-> create temporary table tmpRightTable
-> (
-> objChk varchar(255),
-> ModelName varchar(50),
-> Operator varchar(500),
-> PModelName varchar(50)
-> );
-> DROP TABLE IF EXISTS tmpRightTable;
-> end;
-> //
Query OK, 0 rows affected (0.30 sec)mysql> delimiter ;
mysql>
mysql> call sp_test();
Query OK, 0 rows affected (0.13 sec)mysql> call sp_test();
Query OK, 0 rows affected (0.06 sec)mysql> call sp_test();
Query OK, 0 rows affected (0.06 sec)mysql> call sp_test();
Query OK, 0 rows affected (0.08 sec)mysql> call sp_test();
Query OK, 0 rows affected (0.08 sec)mysql> call sp_test();
Query OK, 0 rows affected (0.08 sec)mysql> call sp_test();
Query OK, 0 rows affected (0.08 sec)mysql>