我想在我的数据库中有自动的“用户邮票”。这意味着,每当用户更改某项内容时,他的Userid就会被写入列中。我试图通过使用“后更新”触发器来解决这个问题,但是我的代码不起作用:
CREATE DEFINER = CURRENT_USER TRIGGER `db`.`tantworten_AFTER_UPDATE`
AFTER UPDATE ON `tantworten` FOR EACH ROW
BEGIN
Insert into tantworten (User)
Values (current_user());
END提前感谢!
发布于 2016-03-01 11:37:46
好吧,我解决了。让·杜克斯的回答几乎是正确的(谢谢!)MySQL无法更新同一个表,在该表中,触发器是在更新后发出的。因此,我只是将触发器设置为“更新前”。
我希望这对其他人也有帮助
create trigger userupdate Before Update on tantworten
FOR EACH ROW
set New.User = current_user();发布于 2016-03-01 09:17:11
我会这样做(我现在不能测试):
CREATE DEFINER = CURRENT_USER TRIGGER `db`.`tantworten_AFTER_UPDATE`
BEFORE UPDATE ON `tantworten` FOR EACH ROW
BEGIN
SET NEW.User = current_user();
ENDhttps://stackoverflow.com/questions/35717931
复制相似问题