gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:04:33 26 4
gpt4 key购买 nike

我正在尝试在游标中使用 mysql workbench 中的准备语句。游标适用于非常大的数据集,因此会执行多次。每次显示 EXECUTE 步骤的新结果时。由于打开的结果窗口太多,这最终导致 mysql workbench 崩溃。

在光标中我做了这样的事情:

PREPARE stmt2 FROM @eveningQuery;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;

通常我使用像

这样的东西
set aVar = (EXECUTE stmt2); 

使查询静音,但 EXECUTE 不会那样工作。

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

注意:我了解如何检索变量中的数据,但我想防止它显示在结果概览中,如下所示 enter image description here

这会使 mysql-workbench 在循环过多时崩溃。

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

SET @eveningQuery = CONCAT('select @resultNm := exists (select idSplitBill from tb_SplitDay where idSplitBill =', idSplitBillVar, ' and ', @columnNameEv ,' = 1 and softdelete = 0)');

idSplitBillVar = 来自光标的 id。@columnNameEv = 我正在可变地填写的列。

我添加此信息是因为它被问到,但在我看来这并不重要,因为即使是最简单的查询,问题仍然存在。当你执行一个准备好的语句时,你会得到一个输出结果。我只想禁用此行为。

最佳答案

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

SELECT @resultNm:=EXISTS(
SELECT idSplitBill FROM tb_SplitDay
WHERE idSplitBill =', idSplitBillVar, ' AND ', @columnNameEv ,' = 1 AND softdelete = 0
)

您可以重写此查询,并且不会创建结果集 -

SELECT EXISTS(
SELECT idSplitBill FROM tb_SplitDay
WHERE idSplitBill =', idSplitBillVar, ' AND ', @columnNameEv ,' = 1 AND softdelete = 0
)
INTO @resultNm

关于mysql - 如何在工作台中禁用 mysql EXECUTE 命令的结果输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com