|
|
|
TRIGGER, динамические NEW/OLD
|
|||
|---|---|---|---|
|
#18+
Добрый день, пробую создать треггер собирающий лог изменений, который бы не зависил от изменений вносимых в отслеживаемую таблицу (добавление/удаление колонок, изменение их названий) заткнулся на проблеме, как динамически указывать название колонки для NEW/OLD (которая будет браться из SELECT COLUMN_NAME FROM information_schema.COLUMNS) погуглил ... но решения не нашел http://habrahabr.ru/qa/24082/ http://stackoverflow.com/questions/14703844/mysql-update-trigger-find-changed-columns http://forums.mysql.com/read.php?99,578153,578153#msg-578153 помогите плиз может кто уже решил данную проблему и возможно не нужно писать свой "велосипед"/триггер а есть что-то "родное" от MySQL заранее спасибо PS Динамический SQL как я понял нельзя использовать в тригере :( Хотя нашел статью что как-то можно через "временные таблицы" выкрутится, но к сожалению я новичек в MySQL и не смог понял как это реализовать http://codewordhank.com/sql-server/dynamic-sql-and-a-trigger-gotcha/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2013, 16:01:58 |
|
||
|
TRIGGER, динамические NEW/OLD
|
|||
|---|---|---|---|
|
#18+
Динамический SQL вам тут и не поможет, насколько я понял задачу. Имхо, выход один - после каждого изменения структуры таблицы вызывайте скрипт, который пересоздаст логирующие триггера для этой таблицы. Правда, в MySQL логировать изменения триггерами - не слишком хороший вариант. Триггера не всегда срабатывают. Например, не срабатывают при truncate table и при действиях, вызываемых внешних ключами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2013, 16:52:11 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1836280]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 330ms |

| 0 / 0 |
