2013-11-05 62 views
0

你能幫我一下我的代碼嗎?因爲我正在爲我的項目創建一個表日誌。所以我在表中包含了一個TRIGGER,但是我的sql代碼有錯誤。這是我的SQL代碼。如何使用mysql爲表日誌創建觸發器?

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;# 

請幫我這個謝謝。我無法找到我的代碼出錯的地方。

回答

0

好吧,我發現我的錯誤。我只是將category_log中的字段與我的sales_category表完全重新命名。