我花了一个小时看代码,但我找不到它失败的地方
DELIMITER $$
DROP PROCEDURE IF EXISTS equipos$$
CREATE PROCEDURE equipos(IN nom varchar, IN loc varchar, IN usu varchar
, IN pass varchar, OUT mensaje varchar, OUT nombreOut varchar)
BEGIN
select @var:=count(*) from usuario where usu=usuario.usuario;
if(@var=0) THEN
INSERT INTO `usuario`(`usuario`, `contraseña`) VALUES (usu,MD5(pass));
select @id:=usuario.idUsuario from usuario WHERE usuario.usuario=usu;
INSERT INTO `equipo`(`nombre`, `localidad`, `idUsuario`) VALUES (nom,loc,@id);
SET mensaje="";
Set nombreOut=nom;
else
SET mensaje="ya existe ese usuario";
END IF;
END$$
DELIMITER ;
告诉我这个错误
something mistaken in your sintax near ' IN loc varchar, IN usu varchar, IN pass varchar, OUT mensaje varchar, OUT nombr' in line 1
2条答案
按热度按时间dba5bblo1#
声明varchar时,必须指定其最大长度。喜欢
y4ekin9u2#
提到时需要指定变量的最大长度
VARCHAR
数据类型