【发布时间】:2021-01-27 07:16:42
【问题描述】:
我的问题是我在尝试执行存储过程时遇到错误:
子查询返回超过 1 个值
这是我的代码:
DELIMITER //
CREATE PROCEDURE bdfutbol.insertar_equipo (in _nomEquipo varchar(40), in _codLiga char(5),
in _localidad varchar(60),in _internacional tinyint, out resultadoL TINYINT(1),out resultadoI TINYINT(1) )
BEGIN
set contadorInicial = (select FOUND_ROWS() FROM equipos);
set resultadoL=(SELECT if (EXISTS (select codLiga from ligas where codLiga=_codLiga),1,0));
SET resultadoI=0;
if resultadoL=1 THEN
BEGIN
INSERT INTO equipos values (null,_nomEquipo,_codliga,_localidad,_internacional);
if @contadorInicial!=(select FOUND_ROWS() from equipos) then set resultadoI=1;
END IF;
END;
END IF;
END //
DELIMITER;
我的问题是我不知道是什么导致了这个错误,我已经测试了所有子查询,它们只返回一行,任何形式的帮助都将不胜感激。
感谢 found_rows 返回行而不是轮数的建议
【问题讨论】:
标签: mysql sql stored-procedures subquery procedure