我正在运行存储过程并遇到以下问题:
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,因为我需要稍后在procudure中使用它来检查它是否> 0
由于
答案 0 :(得分:0)
如果查询没有返回任何行,您可以声明一个continue处理程序,以显式地将gallery_rel_id_check设置为适当的值。
例如:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET gallery_rel_id_check = -1;
答案 1 :(得分:0)
归功于@Paolo Bergantino
只需使用:
SET gallery_rel_id_check =(SELECT ...);