更新查询使用存储过程

时间:2016-03-10 13:03:27

标签: mysql stored-procedures

我在mysql中使用存储过程来更新数据,但是当我调用该函数时,它会更新整行而不是一行

CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdVend`(
    in vid nvarchar (50),
    in vName nvarchar(100),
    in addres nvarchar(250),
    in phone int(11),
    in email nvarchar(50),
    in pan nvarchar(100)
)
BEGIN
    SET SQL_SAFE_UPDATES=0;
    UPDATE visitor SET VName = vName, Addres = addres, Phone = phone, Email = email,Pan = pan WHERE VId = vid;
END

当我打电话给它时,它会更新整行。 在此之前它显示有关更新安全模式的错误1175。我用SET SQL_SAFE_UPDATES=0解决了这个问题。

1 个答案:

答案 0 :(得分:0)

一个简单的改变及其工作......

CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdVend`(
in vid nvarchar (50),
in vName nvarchar(100),
in addres nvarchar(250),
in phone int(11),
in email nvarchar(50),
in pan nvarchar(100)
)
BEGIN
UPDATE visitor v SET VName = vName, Addres = addres, Phone = phone, Email = email,Pan = pan WHERE v.VId = vid;
END