【发布时间】:2018-08-19 20:24:00
【问题描述】:
我在我的第一个数据库课程中,我正在尝试为 mysql 过程编写一个条件块。
这是程序:
delimiter //
CREATE PROCEDURE add_ascent(IN cid INT, IN pid INT)
BEGIN
DECLARE count_ascents INT;
SET count_ascents = 0;
SELECT COUNT(`cid`) INTO count_ascents FROM ascents WHERE `cid`=cid AND `pid`=pid;
IF count_ascents < 1 THEN
INSERT INTO ascents (`cid`, `pid`) VALUES (cid, pid);
UPDATE climbers SET climbers.ascents = climbers.ascents + 1 WHERE climbers.id=cid;
UPDATE problems SET problems.ascents = problems.ascents + 1 WHERE problems.id=pid;
END IF;
END;
//
delimiter ;
该过程的目标是仅在 (cid, pid) 对不在 ascents 数据库中时执行插入和更新。经过测试,程序似乎根本没有进入 if 块。
【问题讨论】:
标签: mysql sql if-statement stored-procedures