0

我尝试在 Mysql 中使用 IF 语句,但未能得到我想要的结果。下面是我的代码:

DELIMITER $$
CREATE PROCEDURE myProc()
BEGIN
DECLARE netname  varchar(100);
DECLARE alarm varchar(100);
SET netname = (SELECT `netname ` FROM summary_alarm);
SET alarm = (SELECT `alarm` FROM summary_alarm);
    IF ( netname = 'Abcd' AND alarm = 'Example Name') THEN
        BEGIN
        update summary_alarm set `count`=`count`+1;
        END
    END IF
END 
DELIMITER ;

我想要实现的是更新记录,如果它在列上有“Abcd”并且在列上netname有“示例名称” alarm。知道吗?

4

2 回答 2

0

看起来不正确的是:

SET netname = (SELECT `netname ` FROM summary_alarm);
SET alarm = (SELECT `alarm` FROM summary_alarm);

我认为您需要在语句中添加WHERE子句或 aGROUP BY或 a 。LIMIT 1SELECT

于 2013-03-21T23:21:09.140 回答
0

参考最新评论,UPDATE声明可以自行更新。像这样

UPDATE summary_alarm 
SET `count`=`count`+1
WHERE `netname` = 'Abcd' 
    AND `alarm` = 'Example Name';
于 2013-03-21T23:28:20.233 回答