Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 存储过程在以下情况下停止";选择fieldname INTO var";返回0行_Mysql_Sql_Stored Procedures_Percona - Fatal编程技术网

Mysql 存储过程在以下情况下停止";选择fieldname INTO var";返回0行

Mysql 存储过程在以下情况下停止";选择fieldname INTO var";返回0行,mysql,sql,stored-procedures,percona,Mysql,Sql,Stored Procedures,Percona,我正在运行一个存储过程,遇到以下行的问题: SELECT photo_data_id INTO gallery_rel_id_check FROM photo_data WHERE object_type = 4 AND data_id = 0 AND photo_id = row_photo_id LIMIT 1; 在某些情况下,此查询将返回0行,因此gallery_rel_id_check不会获得分配给它的值 出于某种奇怪的原因,这似乎停止了存储过程。我是否

我正在运行一个存储过程,遇到以下行的问题:

SELECT photo_data_id 
  INTO gallery_rel_id_check 
  FROM photo_data 
 WHERE object_type = 4 
   AND data_id = 0 
   AND photo_id = row_photo_id LIMIT 1;
在某些情况下,此查询将返回0行,因此gallery_rel_id_check不会获得分配给它的值

出于某种奇怪的原因,这似乎停止了存储过程。我是否应该以不同的方式分配gallery_rel_id_check,因为我需要在以后的过程中使用它来检查它是否>0


谢谢

如果查询没有返回任何行,您可以声明一个continue处理程序来显式地将gallery\u rel\u id\u check设置为适当的值

例如:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET gallery_rel_id_check = -1;

如果查询未返回任何行,则可以声明一个continue处理程序,将gallery_rel_id_check显式设置为适当的值

例如:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET gallery_rel_id_check = -1;

归功于@Paolo Bergantino

只需使用:


设置图库\u rel\u id\u check=(选择…)

归功于@Paolo Bergantino

只需使用:


设置图库\u rel\u id\u check=(选择…)

您是否尝试过
限制0,1?您需要知道照片数据id的值吗?如果没有,只需执行
COUNT(*)
查询即可。否则您必须捕获错误。您还可以执行
SET gallery\u rel\u id\u check=(选择…)
@Paulo,这就成功了,把它放在一个答案里,我会记下:)你试过
限制0,1?您需要知道照片数据id的值吗?如果没有,只需执行
COUNT(*)
查询即可。否则您必须捕获错误。您还可以执行
SET gallery\u rel\u id\u check=(选择…)@Paulo,这就成功了,把它放在答案里,我会记下:)