如何使用mysql为表日志创建触发器?

时间:2013-11-05 00:28:55

标签: mysql sql

你能帮我解决一下我的代码吗?因为我正在为我的项目创建表日志。所以我在我的表中包含了一个TRIGGER但是我的sql代码出错了。这是我的sql代码。

CREATE TABLE `sales_category` (
    `salescatid` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
    `salescatname` VARCHAR(128) NOT NULL,
    `salescatdesc` VARCHAR(512) NOT NULL,
    UNIQUE INDEX `salescatname` (`salescatname`),
    UNIQUE INDEX `salescatid` (`salescatid`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB


CREATE TABLE `category_log` (
    `action` ENUM('CREATE','UPDATE','DELETE') NULL DEFAULT NULL,
    `id` INT(10) UNSIGNED NOT NULL,
    `salescatname` VARCHAR(255) NOT NULL,
    `salescatdesc` VARCHAR(255) NOT NULL,
    INDEX `id` (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;


//Here's the error: SQL error 1054: Unknown column 'id' in 'NEW'
DELIMITER #
CREATE TRIGGER ai_category
AFTER INSERT ON sales_category
FOR EACH ROW
BEGIN
    INSERT INTO category_log(action,id,salescatname,salescatedesc)
    VALUES('CREATE',NEW.id,NEW.salescatname,NEW.salescatdesc);
END;#

请帮助我,谢谢。我无法发现我的代码在哪里出错了。

1 个答案:

答案 0 :(得分:0)

好的,我发现了我的错误。我只是将category_log中的字段重命名为sa me me作为我的sales_category表。