Triggers Phpmyadmin中更新触发器之前如何获取更新值

Triggers Phpmyadmin中更新触发器之前如何获取更新值,triggers,phpmyadmin,Triggers,Phpmyadmin,我试图在phpmyadmin中获取一个触发器,该触发器将在更新特定表之前和之后创建一个具有特定列值(信誉)的审核 比如: CREATE DEFINER=`test`@`%` TRIGGER `monitor update reputation` BEFORE UPDATE ON `game_resorts` FOR EACH ROW INSERT INTO `audit` (`id`, `datetime`, `id_resort`, `reputation`) VALUES (NULL, CU

我试图在phpmyadmin中获取一个触发器,该触发器将在更新特定表之前和之后创建一个具有特定列值(
信誉
)的审核

比如:

CREATE DEFINER=`test`@`%`
TRIGGER `monitor update reputation`
BEFORE UPDATE ON `game_resorts`
FOR EACH ROW
INSERT INTO `audit` (`id`, `datetime`, `id_resort`, `reputation`)
VALUES (NULL, CURRENT_TIMESTAMP, id_resort, reputation)

主要问题是如何检索将被更新的
id\u度假酒店
;然后,在MySQL中,
声誉
值?

将使用
NEW
关键字,因此我假设使用phpmyadmin时情况相同

例如:

CREATE DEFINER=`test`@`%`
TRIGGER `monitor_update_reputation` //don't use spaces in a trigger name
BEFORE UPDATE ON `game_resorts`
FOR EACH ROW
INSERT INTO `audit` (`datetime`, `id_resort`, `reputation`) 
VALUES (CURRENT_TIMESTAMP, NEW.id_resort, NEW.reputation)
如果您想在更新之前获取
id\u resort
声誉
的值,可以使用
OLD
关键字:

...
VALUES (CURRENT_TIMESTAMP, OLD.id_resort, OLD.reputation)
另外,我认为不能将
NULL
插入主键列。如果
audit
表上的
id
设置为自动递增,则只需从
INSERT
语句中省略
id
列即可