mysql存储过程的参数名不能和表字段名一样,否则不执行条件
例子:
DELIMITER $$
DROP PROCEDURE IF EXISTS `barter`.`sp_updateleagfood`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_updateleagfood`(leagId int , foodNo varchar(4))
BEGIN
START TRANSACTION;
Update leagfoods set drawamount = drawamount + deal where LeagId = leagId and FoodNo = foodNo;
COMMIT;
END$$
DELIMITER ;
结果:
整个表的记录都执行更新
改进:
DELIMITER $$
DROP PROCEDURE IF EXISTS `barter`.`sp_updateleagfood`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_updateleagfood`(pId int , pNo varchar(4))