我有一个可以从不同 API 访问的 MySQL 表。我想记录从该表中删除任何行的时间。这可能吗?
问问题
2885 次
3 回答
6
是的,您可以使用简单的触发器,例如;
CREATE TRIGGER data_delete BEFORE DELETE ON data FOR EACH ROW
BEGIN
INSERT INTO log(logmessage) VALUES (CONCAT('Delete of value ', OLD.id));
END
于 2013-10-07T10:48:20.843 回答
1
对的,这是可能的。为此,您必须使用触发器。使用触发器,您可以在删除发生后保存数据、时间和其他信息。
于 2013-10-07T10:40:39.153 回答
0
我有类似的需求,我的解决方案基于 Joachim Isaksson 的解决方案,但必须在前后添加 DELIMITER 行。
CREATE TABLE log_user_table (old_user_id VARCHAR(20), old_user_email VARCHAR(20), when_deleted DATE);
DELIMITER //
CREATE TRIGGER user_delete BEFORE DELETE ON user FOR EACH ROW BEGIN
INSERT INTO log_user_table(old_user_id,old_user_email,when_deleted) VALUES (OLD.id,OLD.email,NOW());
END;//
DELIMITER ;
于 2016-09-27T19:03:02.910 回答