@neonox

Как настроить event в MariaDB?

Есть задача запускать событие только в будние дни. Пробовал различные скрипты (примеры ниже), но получаю ошибку
SQL Error [1064] [42000]: (conn=303823) 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 'SELECT DAYNAME(NOW()) NOT IN ('Sunday', 'Saturday') THEN (тут зависит от условия в IF)


--Скрипт 1
CREATE EVENT `on_rrc`
ON SCHEDULE EVERY 1 DAY STARTS '2020-08-24 08:00:00'
ON COMPLETION PRESERVE ENABLE
DO
begin
IF SELECT DAYNAME(NOW()) NOT IN ('Sunday', 'Saturday') THEN 
UPDATE db.table t set t.value = '1' where t.key = 'config_product_rrc';
END IF;


--Скрипт 2

CREATE EVENT `on_rrc`
ON SCHEDULE EVERY 1 DAY STARTS '2020-08-24 08:00:00'
ON COMPLETION PRESERVE ENABLE
DO
begin
IF SELECT DAYOFWEEK(now()) between 2 and 6 then
UPDATE db.table t set t.value = '1' where t.key = 'config_product_rrc';
END IF;


--Скрипт 3

delimiter |
CREATE EVENT `on_rrc`
ON SCHEDULE EVERY 1 DAY STARTS '2020-08-24 08:00:00'
ON COMPLETION PRESERVE ENABLE
DO
begin
if 
SELECT DAYOFWEEK(now()) between 2 and 6 then
UPDATE db.table t set t.value = '1' where t.key = 'config_product_rrc';
END if;
END |
delimiter


Что я делаю не так?
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ответы на вопрос 1
@necrodeflorator
Не нравится ему селект в ду.

Расписание нужно задавать в шедуль
https://stackoverflow.com/questions/15432079/mysql...
Тут пример как запускать в воскресенье
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы