8

列のデフォルト値をログインユーザーに設定するにはどうすればよいですか?

「ログ」テーブルを作成していますが、列の 1 つはログインしているユーザーにする必要があります

(the output of "SELECT user();"). 

これは可能ですか?

編集 - 私が試したこと:

create trigger logtrigger_test before insert on logging_test for each row set new.changed_by=current_user();

編集 2: テーブルを記述する

+---------------+-------------+------+-----+-------------------+-----------------------------+
| Field         | Type        | Null | Key | Default           | Extra                       |
+---------------+-------------+------+-----+-------------------+-----------------------------+
| id            | int(11)     | NO   | PRI | NULL              | auto_increment              |
| source_table  | varchar(50) | NO   |     | NULL              |                             |
| foreign_id    | int(11)     | NO   |     | NULL              |                             | 
| field_changed | varchar(30) | NO   |     | NULL              |                             | 
| changed_by    | varchar(30) | YES  |     | NULL              |                             | 
| changed_on    | timestamp   | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+---------------+-------------+------+-----+-------------------+-----------------------------+

編集 3: テーブル内のサンプル エントリ

+----+---------------+------------+------------------+----------------------+---------------------+
| id | source_table  | foreign_id | field_changed    | changed_by           | changed_on          |
+----+---------------+------------+------------------+----------------------+---------------------+
| 0  | phone_numbers | 34         | home_phone       | jeff@localhost       | 2013-04-10 14:15:13 |
| 1  | contact_info  | 24         | first_name       | bob@localhost        | 2013-04-11 10:18:43 | 
| 2  | addresses     | 32         | home_address     | autoscript@localhost | 2013-04-12 11:10:37 |
| 3  | addresses     | 36         | business_address | bob@localhost        | 2013-04-12 14:56:17 |
| 4  | addresses     | 36         | business_address | jeff@localhost       | 2013-04-12 15:25:52 |
+----+---------------+------------+------------------+----------------------+---------------------+
4

2 に答える 2