此触发器语句中出现语法错误,我不确定原因。有不同的看法,但常见错误出现在代码的第3行。其他时候我被告知第3,4和5行有错误。我应该在哪里寻找错误才能使用?
CREATE TABLE audit (
id INT
current_username VARCHAR(30) NOT NULL,
system_date DATETIME DEFAULT NULL,
grade_change TINYINT DEFAULT NULL,
action VARCHAR(30) DEFAULT NULL
PRIMARY KEY (id)
) ENGINE=INNODB;
DELIMITER $$
CREATE TRIGGER grade_audit
BEFORE UPDATE ON take
FOR EACH ROW
BEGIN
INSERT INTO audit
SET action = ‘update’,
current_username = xxx,
grade_change = OLD.grade,
system_date = NOW();
END$$
DELIMITER ;
答案 0 :(得分:0)
你遗漏了一些逗号:
id INT
action VARCHAR(30) DEFAULT NULL
此外,您似乎使用了一些Windows单引号,在某些环境中会失败:
SET action = ‘update’,