在mySQL中使用IF语句

时间:2013-03-21 23:00:24

标签: mysql if-statement

我尝试在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 ;

我想要实现的是更新记录,如果它在列netname上具有'Abcd'并且在列alarm上具有'示例名称'。 任何adea?

2 个答案:

答案 0 :(得分:0)

看起来不正确的事情是:

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

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

答案 1 :(得分:0)

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

UPDATE summary_alarm 
SET `count`=`count`+1
WHERE `netname` = 'Abcd' 
    AND `alarm` = 'Example Name';