【发布时间】:2017-01-11 10:35:30
【问题描述】:
这是我的桌子。
+-------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| Postcode | varchar(255) | YES | | NULL | |
| Town | varchar(255) | YES | | NULL | |
| Region | varchar(255) | YES | | NULL | |
| Company Name | varchar(255) | YES | | NULL | |
| Fee | double | YES | | NULL | |
| Company Benefits | varchar(255) | YES | | NULL | |
| Date Updated | date | YES | | NULL | |
| Website | mediumtext | YES | | NULL | |
| Updated By | varchar(255) | YES | | NULL | |
| Notes | varchar(255) | YES | | NULL | |
| LNG | varchar(255) | YES | | NULL | |
| LAT | varchar(255) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+----------------+
您可以看到我们有一个“更新者”列。
我怎样才能做到这一点,当用户更新行时,“更新者”列会自动更新(如果是他们正在添加的新行,则插入)当前登录的用户名?
非常感谢
【问题讨论】:
-
如果您使用会话,则首先获取会话,然后使用该会话更新表
-
您是指
logged-in用户,database用户吗?还是应用层的用户? -
Wajeeh,我的意思是登录用户,每当用户登录时,他们的名字都会出现在“更新者”中,我的用户通过 MS Access 访问数据库(我知道,我也讨厌它。但他们需要它。)但我也有一个他们使用的 webapp,可以编辑数据,因此每次修改/更新条目时让 MySQL 运行某种触发器可能更合适