0
這裏有一個表叫USER_LOG:要記錄所有修改使用觸發器的表將事件必須是之前或之後
CREATE TABLE user_log (
id INT(10) UNSIGNED PRIMARY KEY auto_increment,
user_id INT (10),
name VARCHAR (50),
username VARCHAR (32),
password VARCHAR (32),
email VARCHAR(255) NOT NULL,
user_type_id INT (11),
created DATETIME NOT NULL
);
要創建一個觸發器,它會記錄所有修改用戶表成上面的user_log表。它應該將舊的值插入日誌表中。
以下是我有:
DELIMITER $$
CREATE TRIGGER changes_log AFTER UPDATE ON user_log
FOR EACH ROW
BEGIN
IF (OLD.user_id != NEW.user_id) THEN
INSERT INTO user_log (id, name, username, password, email,
user_type_id, created)
VALUES(OLD.id, OLD.name, OLD.username, OLD.password, OLD.email,
OLD.user_type_id, OLD.created, NOW(), 'Entry Updated');
END IF;
END$$
這是否成功完成觸發,將所有的更改用戶表登錄到我上面創建的USER_LOG表?
你試過了嗎?它看起來應該起作用,儘管可以在之前或之後寫入觸發器。 –