PHP Передать идентификатор пользователя в триггер mysql - PullRequest
2 голосов
/ 23 декабря 2011

Мне нужно создать таблицу журнала, и, как и ожидалось, мне нужно сохранить идентификатор пользователя, а также старые и новые значения строк.

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

Есть ли способ сделать это?

Заранее спасибо за любую помощь.

Ответы [ 2 ]

5 голосов
/ 24 декабря 2011

Еще один хак: вы можете использовать переменную на основе соединения @var.

sample:

  set @user_id = 321
  update table .....
  set @user_id = null;

, а в триггере обновления вы можете использовать эту переменную @user_id.

1 голос
/ 23 декабря 2011

Не без какого-то уродливого взлома - который может быть триггером, чтобы думать не только о триггерах

Теперь за одну возможность гадкого взлома:

Если ваше имя пользователя не может содержать \ n, вы можете сделать что-то вроде

UPDATE <tablename> SET <fieldname>=CONCAT('$username','\n','<newvalue>') WHERE <primarykey>=<something>

и затем позвольте вашему триггеру снять предварительно добавленное имя пользователя и символ новой строки. Опять же: это безобразный хак.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...