我正在尝试生成一个测试,以便在给定表中的特定COUNT
时引发错误。该错误永远不会上升,而且似乎是SELECT
的{{1}}造成的。
以下COUNT
语句成功失败(如果有意义):
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();
是不可避免的。
提前致谢!
答案 0 :(得分:0)
因此,在查看此内容之后,只有在SequelPro
应用上尝试时才会发生这种情况。
我已直接在命令行和MySQLWorkbench
上完成了一些测试,并且两者都按预期工作(如果需要,无论是否遇到成功的SELECT
,总是会引发错误)。
现在关闭这个问题。