Я никогда раньше не использовал IF в SQL. Мне нужно обновить строку, где учреждение — это определенный номер, если он существует, и вставить его, если это не так. Чтобы избежать использования сначала выбора, а затем вставки или обновления, я хотел попробовать свои силы в операторе IF. Из того, что я прочитал в документации, я понял, что это должно быть примерно так:
IF (NOT EXISTS(SELECT evaluations FROM tEvaluations WHERE institution = 0))
BEGIN
INSERT INTO tEvaluations (institution,evaluations) VALUES (0,0)
END
ELSE
BEGIN
UPDATE tEvaluations SET evaluations = 10 WHERE institution = 0
END
Однако я получаю эту ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'BEGIN
INSERT INTO tEvaluations (institution,evaluations) VALUES (0,0)
END' at line 2
Я пытаюсь запустить этот запрос в phpmyadmin, чтобы проверить, каким должен быть запрос.
phpmyadmin
реализует MySQL, но это может быть устаревшая версия MySQL 5 или современная MySQL 8, которые сильно отличаются друг от друга. - person Dai   schedule 13.05.2020