max_execution_time后如何捕获MySQL错误中止

时间:2019-03-05 07:34:42

标签: mysql

我的MySQL版本是5.7.15,我尝试使用MySQL客户端执行以下语句(SELECT语句通常花费10ms以上的时间):

set max_execution_time=10; 
select * from mydb.t_mytable order by rand() limit 10;

在max_execution_time之后,SELECT语句被中止,并报告错误:

  

错误3024(HY000):查询执行被中断,最大语句   超过执行时间

但是当我使用具有相同语句的cpp代码函数mysql_real_query()时,在max_execution_time之后中止并且没有引发错误,mysql_real_query()返回0,mysql_errno()返回0,而mysql_error()返回空字符串。

为什么MySQL客户端和mysql_real_query()函数之间有区别?

是否可以通过cpp代码捕获 “ ERROR 3024(HY000)” 的错误?

0 个答案:

没有答案