Тригер с помощью миграции

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Тригер с помощью миграции

Сообщение mika_di »

Пытаюсь создать тригер

Код: Выделить всё

$this->execute("CREATE TRIGGER before_insert_links BEFORE INSERT ON links
         DELETE FROM links WHERE time_to_live < CURRENT_TIMESTAMP;
         END");
Получаю ошибку

Код: Выделить всё

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE FROM links WHERE time_to_live < CURRENT_TIMESTAMP;
         END' at line 2
Что не так делаю?
olegtmb
Сообщения: 18
Зарегистрирован: 2013.08.06, 20:27

Re: Тригер с помощью миграции

Сообщение olegtmb »

BEGIN не хватает перед DELETE
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Тригер с помощью миграции

Сообщение mika_di »

да нет видать не в этом дело, прописал BEGIN, ошибка та же. Может ';' не нравится или CURRENT_TIMESTAMP.
olegtmb
Сообщения: 18
Зарегистрирован: 2013.08.06, 20:27

Re: Тригер с помощью миграции

Сообщение olegtmb »

Код: Выделить всё

CREATE TRIGGER before_insert_links	
BEFORE INSERT 	ON links
	FOR EACH ROW
BEGIN
  DELETE FROM links WHERE time_to_live < CURRENT_TIMESTAMP;
END
Синтаксис такой должен создать тригер.
Но будет ли он работать? Если в DELETE указать другую таблицу, то будет
Аватара пользователя
mika_di
Сообщения: 218
Зарегистрирован: 2015.09.24, 11:57

Re: Тригер с помощью миграции

Сообщение mika_di »

ура создался, спасибо)
Ответить