Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果上一次选择成功,MySQL Raise错误不起作用_Mysql_Sql_Stored Procedures_Error Handling - Fatal编程技术网

如果上一次选择成功,MySQL Raise错误不起作用

如果上一次选择成功,MySQL Raise错误不起作用,mysql,sql,stored-procedures,error-handling,Mysql,Sql,Stored Procedures,Error Handling,我试图生成一个测试,在给定表中特定的计数时引发错误。错误永远不会出现,这似乎是由于计数的选择造成的 以下MySQL语句成功失败(如果有意义的话): 但如果我添加一个简单的SELECT,它将永远不会失败(即使满足引发错误的条件): DROP程序(如果存在)测试; 分隔符// 创建过程测试() 开始 声明C INT; 选择1 因此,在研究了这一点之后,只有在SequelPro应用程序上尝试时才会发生这种情况 我直接在命令行和MySQLWorkbench上做了一些测试,两个测试都按预期进行(如果需要,

我试图生成一个测试,在给定表中特定的
计数时引发错误。错误永远不会出现,这似乎是由于
计数的
选择
造成的

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

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

DROP程序(如果存在)测试;
分隔符//
创建过程测试()
开始
声明C INT;

选择1 因此,在研究了这一点之后,只有在
SequelPro
应用程序上尝试时才会发生这种情况

我直接在命令行和
MySQLWorkbench
上做了一些测试,两个测试都按预期进行(如果需要,不管之前遇到成功的
SELECT
s,都会引发错误)


现在结束这个问题。

所以在研究了这个问题之后,只有在
SequelPro
应用程序上尝试它时才会发生这种情况

我直接在命令行和
MySQLWorkbench
上做了一些测试,两个测试都按预期进行(如果需要,不管之前遇到成功的
SELECT
s,都会引发错误)

现在结束这个问题

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();
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();