Я пытаюсь добавить предложение IF внутри оператора обновления. Мысль это было легко, но, похоже, это не так.Добавление 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
.
Ошибка он бросает это в 'SQL Error (1064): Вы ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «CASE procType», где начинается 'CASE'. Я пробовал все, что мог. – jmenezes
Я отредактировал сообщение, retry plz –
Все тот же. – jmenezes