首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在工作台中禁用mysql EXECUTE命令的结果输出?

问如何在工作台中禁用mysql EXECUTE命令的结果输出?
EN

Stack Overflow用户
提问于 2013-03-07 22:58:06
回答 1查看 5.3K关注 0票数 6

我试图在一个游标中的mysql工作台中使用一个准备好的语句。游标在一个非常大的数据集上工作,因此它被执行了很多次。每次为执行步骤显示新的结果时。这最终导致mysql工作台崩溃,因为打开的结果窗口太多。

在光标中,我执行如下操作:

代码语言:javascript
复制
PREPARE stmt2 FROM @eveningQuery;
EXECUTE stmt2; 
DEALLOCATE PREPARE stmt2;

通常我用的东西是

代码语言:javascript
复制
set aVar = (EXECUTE stmt2); 

要使查询保持沉默,但执行却不是这样。

有人知道如何在mysql中禁用EXECUTE命令的输出吗?

注意:我理解如何检索变量中的数据,但我要防止的是,数据显示在结果概述中,如下所示

这将使mysql-工作台崩溃时,循环太多。

编辑是因为它被问到了@eveningQuery的一个例子。

SET @eveningQuery = CONCAT('select @resultNm :=存在“(从tb_SplitDay选择idSplitBill =',idSplitBillVar,‘和',@columnNameEv,’=1和softdelete = 0)');

idSplitBillVar =来自游标的id。@columnNameEv =我正在填写的一栏。

我添加这个信息是因为它是被问到的,但是在我看来这并不重要,因为这个问题仍然存在于最简单的查询中。执行准备好的语句时,您将得到一个输出结果。我只想阻止这种行为。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-12 08:13:13

您使用的查询创建新的结果集,GUI客户端显示它(...many时间)-

代码语言:javascript
复制
SELECT @resultNm:=EXISTS(
  SELECT idSplitBill FROM tb_SplitDay
  WHERE idSplitBill =', idSplitBillVar, ' AND ', @columnNameEv ,' = 1 AND softdelete = 0
)

你可以重写这个查询,结果集不会被创建-

代码语言:javascript
复制
SELECT EXISTS(
  SELECT idSplitBill FROM tb_SplitDay
  WHERE idSplitBill =', idSplitBillVar, ' AND ', @columnNameEv ,' = 1 AND softdelete = 0
)
INTO @resultNm
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15283456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档