Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 26 Май, 2012, 02:56:40

Страниц: [1]
Печать
Автор Тема: Есть ли возможность в MySQL-триггерах указывать два евента (INSERT OR UPDATE)  (Прочитано 567 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
adw0rd    ↓ 
05 Февраль, 2010, 02:39:01
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17634
Сила слова: 1.67

В pgSQL, Oracle такое есть. И выглядит примерно так:
 
SQL

CREATE TRIGGER logger BEFORE INSERT OR UPDATE ON websites_website FOR EACH ROW EXECUTE PROCEDURE tsearch2('search_tsv', 'title', 'url', 'description', 'tags');
 

"INSERT OR UPDATE" - вот что мне надо.
 
А MySQL за такое на меня ругается:
SQL

DELIMITER //
CREATE TRIGGER `customers_status_update` AFTER INSERT OR UPDATE ON `customers` FOR EACH ROW
BEGIN
    INSERT INTO `customers_status_log` SET `cust_id` = new.`text_status`, `date` = NOW(), `status` =  new.`text_status`;
END//
 

Если указать INSERT или UPDATE отдельно, то все нормально...
Спустя 57 секунд добавил
Может кто подскажет, моржет я не правильно юзаю?
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
AlexB    ↓ 
05 Февраль, 2010, 03:03:53 , спустя 24 минуты 52 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3428
Сила слова: 2.6

Может сделать отдельную процедуру и два тригера?
Записан

phpdude    ↓ 
05 Февраль, 2010, 03:09:04 , спустя 5 минут 11 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20793
Сила слова: 1.66

я чуток не понял, то есть если два евента делать то оба работают, просто их в 1 запросе нельзя указать?
Спустя 15 секунд добавил
если так, то вот не похуй?
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
adw0rd    ↓ 
05 Февраль, 2010, 03:25:06 , спустя 16 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17634
Сила слова: 1.67


Может сделать отдельную процедуру и два тригера?
я так и сделал
Спустя 38 секунд добавил

я чуток не понял, то есть если два евента делать то оба работают, просто их в 1 запросе нельзя указать?
Спустя 15 секунд добавил
если так, то вот не похуй?

вместо одного триггера надо делать два. нет, мне не похуй, было бы похуй не запостил
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
AlexB    ↓ 
05 Февраль, 2010, 04:33:16 , спустя 1 час 8 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3428
Сила слова: 2.6

Все клиенты мускульные предлагают радио-баттоны для выбора события, на которое вешается триггер.
Похоже действительно нельзя.
Записан

Страниц: [1]
Печать
 

Перейти в: