我正在尝试在更新语句中添加一个 IF 子句。以为这很容易,但似乎并非如此。
这是它的方式。它在一个存储过程中。
FETCH cur1 INTO procId, procType, procVals, procLen, procUpdated, procPrivate, procRegional;
IF done THEN
LEAVE the_loop;
END IF;
UPDATE scores t1
JOIN scores t2
ON FIND_IN_SET(t1.id, t2.vals)
SET t1.private = t1.private+1,
IF procType = 3 THEN // Problem lies here
t1.regional = t1.regional+1;
ELSE IF procType = 4 THEN
t1.otherCol = t1.otherCol+1;
END IF;
WHERE t2.id = procId;
我被困IF
在那里。除了第一个SET
,我还需要Update
另外一个栏目用IF
。