mysql - 存储过程错误:子查询返回超过 1 个值
问题描述
我的问题是我在尝试执行存储过程时遇到错误:
子查询返回超过 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 返回行而不是轮数的建议,设法修复
解决方案
我不知道你真正想要实现什么逻辑,但问题是这个逻辑:
if @contadorInicial!=(select FOUND_ROWS() from equipos) then set resultadoI=1;
子查询选择的行数equipos
与表中的行数一样多。
我不知道你想做什么,但我认为不止这条线需要修复。您可能会考虑提出一个新问题,其中包含样本数据、期望的结果以及您想要完成的任务的解释。
推荐阅读
- reactjs - react-google-maps 内容安全政策
- windows - 在 Windows 编程中将 GUID 定义为许多小片段的约定
- html - 下拉菜单在我打开时将背景向下移动
- html - 如何将图像并排放置到 2 列中,“溢出”到下一行
- android - Android 的 ConstraintLayout 中的 Horizonstal/Vertical Bias 值是否始终受到尊重?
- highcharts - Highcharts:将毫米转换为像素
- apigee - APIGEE 本地 Windows 安装
- python - 在循环中使用 timedelta
- java - 如何编辑html页面中的段落并将其存储在mysql数据库中?
- django-rest-framework - { "detail": "您无权执行此操作。" }