gpt4 book ai didi

如果先前的选择成功,则 MySQL 引发错误不起作用

转载 作者:行者123 更新时间:2023-11-30 22:24:25 26 4
gpt4 key购买 nike

我正在尝试生成一个测试以在给定表中的特定 COUNT 时引发错误。错误永远不会出现,它似乎是由于 COUNTSELECT 造成的。

以下 MySQL 语句成功失败(如果有意义的话):

DROP PROCEDURE IF EXISTS Test; 
DELIMITER //
CREATE PROCEDURE Test()
BEGIN
DECLARE C INT;

SELECT 1 INTO C;

IF(C != 0) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Error!';
END IF;

END; //
DELIMITER ;

CALL Test();

但是如果我添加一个简单的 SELECT 它永远不会失败(即使满足引发错误的条件):

DROP PROCEDURE IF EXISTS Test; 
DELIMITER //
CREATE PROCEDURE Test()
BEGIN
DECLARE C INT;

SELECT 1; <-- This is the added select.
SELECT 1 INTO C;

IF(C != 0) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Error!';
END IF;

END; //
DELIMITER ;

CALL Test();

只是想知道是否有解决此问题的方法,或者它是否在 MySQL 上不可避免。

提前致谢!

最佳答案

所以在调查之后,只有在 SequelPro 应用程序上尝试时才会发生这种情况。

我直接在命令行和 MySQLWorkbench 上做了一些测试,两者都按预期工作(如果需要,总是引发错误,无论遇到成功的 SELECTs之前)。

现在结束这个问题。

关于如果先前的选择成功,则 MySQL 引发错误不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35707358/

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