mysql的UPDATE语句,程序没报错,但没生效。求高手指点!急急急
BEGINDECLAREidINT;DECLAREczmcVARCHAR(255);DECLAREbzsjVARCHAR(255);SETid=Id;SETczmc=ca...
BEGIN
DECLARE id INT;
DECLARE czmc VARCHAR(255);
DECLARE bzsj VARCHAR(255);
SET id=Id;
SET czmc=caoZuoMingCheng;
SET bzsj=biaozhun;
UPDATE standard SET caoZuoMingCheng=czmc,biaoZhunShiJian=bzsj
WHERE ID=id;
END
参数:IN `Id` INT,IN `caoZuoMingCheng` varchar(255),IN`biaozhun` double 展开
DECLARE id INT;
DECLARE czmc VARCHAR(255);
DECLARE bzsj VARCHAR(255);
SET id=Id;
SET czmc=caoZuoMingCheng;
SET bzsj=biaozhun;
UPDATE standard SET caoZuoMingCheng=czmc,biaoZhunShiJian=bzsj
WHERE ID=id;
END
参数:IN `Id` INT,IN `caoZuoMingCheng` varchar(255),IN`biaozhun` double 展开
3个回答
展开全部
SET id=Id;
这个语句,看起来很困惑.
搞不好这句话执行完了, = 啥事情没干。
UPDATE standard SET caoZuoMingCheng=czmc,biaoZhunShiJian=bzsj
WHERE ID=id;
这里的条件是 WHERE 数据库的 ID 字段 = 变量id
有可能是前面的 id , 没有正确的赋值, 导致这里更新的时候,没有满足条件的数据。
这个语句,看起来很困惑.
搞不好这句话执行完了, = 啥事情没干。
UPDATE standard SET caoZuoMingCheng=czmc,biaoZhunShiJian=bzsj
WHERE ID=id;
这里的条件是 WHERE 数据库的 ID 字段 = 变量id
有可能是前面的 id , 没有正确的赋值, 导致这里更新的时候,没有满足条件的数据。
追问
我按照你的话把id改成ident,与Id不同。结果对整个表的每一行都生效了。
WHERE其他列都能成功,就是ID这一列不行
估计是WHERE ID=ident有问题
或者是ID列自增主键的问题。
试了很久还是不行呐......究竟是怎么回事呢....
展开全部
你的这个存储过程 创建的参数有点问题
IN `Id` INT,IN `caoZuoMingCheng` varchar(255),IN`biaozhun` double
假如过程名字为update(IN Id integer,IN caoZuoMingCheng varchar(255),IN biaozhun double)
这个参数给的是变量 不是特定的值。
调用的时候才使用特定的值 call update (100,'string1', 2000);
那么执行的时候就会update 更新这些数据了。
IN `Id` INT,IN `caoZuoMingCheng` varchar(255),IN`biaozhun` double
假如过程名字为update(IN Id integer,IN caoZuoMingCheng varchar(255),IN biaozhun double)
这个参数给的是变量 不是特定的值。
调用的时候才使用特定的值 call update (100,'string1', 2000);
那么执行的时候就会update 更新这些数据了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更新后没有 commit 提交,肯定就没有啊! end 前加个 commit ; 吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询