Планировщик событий в MySQL

0
Create EVENT event_test_name ON SCHEDULE EVERY 1 MINUTE STARTS '2010-09-02 12:10:15' ON COMPLETION NOT PRESERVE ENABLE 
DO 
SET Total=-1;
SET Total = (SELECT COUNT(0) FROM schema1.table1);
SELECT Total;
 IF Total >50000 THEN
insert into schema2.table1 (column1) 
select schema1.table1.column1 from schema1.table1;
end if;

Это планировщик событий, который я пишу для mysql, но я продолжаю получать неправильную строку синтаксиса рядом с statemnet, любая помощь будет очень полезна.

Спасибо.

  • 1
    Зачем создавать другую учетную запись, чтобы оставить вопрос?
Теги:

1 ответ

1
Лучший ответ

Вы должны предисловие к вашим переменным с помощью @, иначе MySQL будет считать, что они являются системными переменными (и Total не является одним из этих) или именами столбцов в таблице, поэтому...

...
SET @Total=-1;
SET @Total = (SELECT ...);
SELECT @Total;
IF @Total > ...

и т.д.

  • 0
    Да, я тоже это попробовал, я получил код ошибки: 1064 У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с 'IF @Total> 50000 THEN вставьте в schema2.table1 (column1) выберите schema1.table' в строке 1
  • 0
    также, я думаю := следует использовать (вместо = ).
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню