захват события

Статус
В этой теме нельзя размещать новые ответы.

chudak

Новичок
захват события

Всем привет!

вопрос:


нужно захватить событие когда меняется значение в базе MySQL именно не только в таблице table_name , а в конкретном поле таблицы!

нужно поймать событие изменения значения поля таблицы!

есть метод который сохраняет изменение, но он сохраняет любые изменения таблицы, а мне нужно конкретного поля!

в движке изменения производить нельзя!

или хотябы вообще это реально?
 

Alexandre

PHPПенсионер
или хотябы вообще это реально?
все в жизни реально...

можно попробовать организовать с помощью триггера, но наличие триггеров снижает производительность выборки.
 

chudak

Новичок
Автор оригинала: Alexandre
все в жизни реально...

можно попробовать организовать с помощью триггера, но наличие триггеров снижает производительность выборки.
значит придется снизить!
я вот только незнаю как триггера писать!
подскажи, или хотябы намекни на данную тему!
 

chudak

Новичок
вот как писать та разобрался без одной детальки


DELIMITER |

CREATE TRIGGER test_trigger BEFORE INSERT ON test4
FOR EACH ROW BEGIN

UPDATE test1 SET b1 = 1+(select a4 from test4 where a4= (select count(*) from test4)) where id = 1 ;
END;
|

DELIMITER ;

здесь он срабатывает при извенении любого поля в этой таблице, а мне нужно только определенного поля ( в данном примере любого)

test1 (id (int auto_increment primary key), a1(int))
test4 (a4(int auto_increment primary key), b4(int), c4(int))
 

Alexandre

PHPПенсионер
здесь он срабатывает при извенении любого поля в этой таблице, а мне нужно только определенного поля
он и будет срабатывать при изменении любого поля...

анализируй какие поля изменились, для этого есть IF
 

Mols

Новичок
Я бы в такой ситуации загнал бы всю работу с этим полем в отдельную функцию(набор функций). Думаю это получше чем триггер в данной ситуации. Ну а в функции что надо, то и делай... Функции (слава богу) можно и из процедур вызывать, и в запросах использовать.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху