mysql信号量600s超时原因

mysql信号量600s超时原因,第1张

mysql信号量600s超时原因是与mysql的连接被持有了4,514,485毫秒,这段持有时间内没有任何任何的交互,mysql连接一直处于等待状态,mysql有个等待超时的设置。发现wait_timeout这个等待超时时间小于这个mysql连接的持有时间。mysql连接因等待超时,mysql服务器会主动关闭该连接。而客户端并不知晓,认为连接依然有效,并试图发送请求,这时就会抛出这个连接异常信息。

mysql>delimiter //

这个作用是把;变成//,以后的语句遇到//就结束了,遇到;不结束,下面就可以按你的想法写了

mysql>CREATE PROCEDURE simpleproc (OUT param1 INT)

->BEGIN

-> SELECT COUNT(*) INTO param1 FROM t

->END

->//

Query OK, 0 rows affected (0.00 sec)

mysql>delimiter 这里把双引号改回来

声明参数要在说明是 输入还是输出函数 in\out

给函数变量赋值用

set @a=10

例子:

drop procedure if exists pr_param_in

create procedure pr_param_in

(

in id int -- in 类型的 MySQL 存储过程参数

)

begin

if (id is not null) then

set id = id + 1

end if

select id as id_inner

end

set @id = 10

call pr_param_in(@id)

select @id as id_out

mysql>call pr_param_in(@id)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8392846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存