我尝试在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?
答案 0 :(得分:0)
看起来不正确的事情是:
SET netname = (SELECT `netname ` FROM summary_alarm);
SET alarm = (SELECT `alarm` FROM summary_alarm);
我认为您需要在WHERE
语句中添加GROUP BY
子句或LIMIT 1
或SELECT
。
答案 1 :(得分:0)
参考最新评论,UPDATE
语句可以自行更新。像这样
UPDATE summary_alarm
SET `count`=`count`+1
WHERE `netname` = 'Abcd'
AND `alarm` = 'Example Name';