Ошибка запроса mySql при попытке использовать оператор IF - PullRequest
0 голосов
/ 11 июля 2019

Я не могу найти ошибку в запросе MySQL.

У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного использования синтаксиса около '' в строке 10

Когда я удаляю:

IF DAYOFWEEK(curdate()) BETWEEN 2 AND 6 THEN
END IF;

Тогда запрос выполняется нормально.

Я пытался использовать табуляцию / пробел внутри моего оператора IF

CREATE EVENT UPLOADTASK
ON SCHEDULE EVERY '1' DAY
STARTS '2019-07-09 00:00:00'
DO
IF DAYOFWEEK(curdate()) BETWEEN 2 AND 6 THEN
  INSERT INTO TABLE1 VALUES
  (1,"TASK1",curdate()-1,NULL),
  (6.5,"TASK2",curdate()-1,NULL),
  (3.0,"TASK3",curdate()-1,NULL),
  (8,"TASK44",curdate()-1,NULL);
END IF;

1 Ответ

0 голосов
/ 11 июля 2019

Включите ваш If внутри Begin End блока

CREATE EVENT UPLOADTASK
ON SCHEDULE EVERY '1' DAY
STARTS '2019-07-09 00:00:00'
DO
 BEGIN
    IF DAYOFWEEK(curdate()) BETWEEN 2 AND 6 THEN
      INSERT INTO TABLE1 VALUES
      (1,"TASK1",curdate()-1,NULL),
      (6.5,"TASK2",curdate()-1,NULL),
      (3.0,"TASK3",curdate()-1,NULL),
      (8,"TASK44",curdate()-1,NULL);
    END IF;
 END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...