LINUX.ORG.RU
ФорумAdmin

Mysql триггеры.

 ,


0

1

Добрый день, господа.

Возникла задача: При добавлении записи в таблицу Mysql необходимо в той-же таблице в одном из столбцов получить ячейку вида <sometext>:введенное значение. Насколько я понимаю это удобнее всего сделать через триггер. Вопрос в том, как получать вводимое значение, вероятно это делается через какую-то внутреннюю переменную mysql. Прошу помочь.

Ответ на: комментарий от Hormiga

Скрипт внутри энтерпрайз системы, в принципе реально в него влезть, но это a) Поломает лицензию. b) Весьма геморойно.

Я так понял нужно использовать конструкцию вроде NEW.*, но не понял, как вставлять в ту-же строку, но в другую ячейку. Возможно есть еще какие-то камни.

Xrizolin
() автор топика
Ответ на: комментарий от Hormiga

Скажите пожалуйста, где я могу почитать про значение этого NEW ? Мне нужно вставлять не просто некоторе 'value' а <sometext>:<значение добавленное в такой-то стоблец>. Как можно его получить?

Понимаю, что туплю, извините.

Xrizolin
() автор топика
Ответ на: комментарий от Xrizolin

Ладно, так?

CREATE TRIGGER `trigger_name` BEFORE INSERT ON `database`.`table`
FOR EACH ROW
BEGIN
SET NEW.field1 = CONCAT('<some_text>:', NEW.field2)
END
NEW - алиас для создаваемого (в данном случае) ряда.

Hormiga
()
Ответ на: комментарий от Xrizolin

А может-ли триггер реагировать не только на INSERT но и на UPDATE одновременно или нужно несколько триггеров? Я наверное сейчас сам нагуглю, но тому-кто найдет эту тему однажды может быть полезно.

Xrizolin
() автор топика
Ответ на: комментарий от Xrizolin

Не может, потому пилим несколько триггеров. Постегрю, говорят может.

Большое спасибо, Hormiga.

Xrizolin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.