【问题标题】:MySQL trigger not updating tableMySQL触发器不更新表
【发布时间】:2016-02-26 10:04:57
【问题描述】:
这段代码与我的问题非常相似。我不确定为什么表 A 根本没有更新。最后我 SELECT * FROM A 和 A 仍然是空的。我已经在这工作了几个小时,我不知道为什么我的触发器不起作用。谢谢
CREATE TABLE A
(
aVariable int
);
CREATE TABLE B
(
bVariable int
);
delimiter //
CREATE TRIGGER AB
AFTER INSERT ON B
FOR EACH ROW
BEGIN
IF (NEW.bVariable < 10) THEN //I also tried bVariable < 10
INSERT INTO A VALUES (11)
END IF;
END;
delimiter ;
INSERT INTO B VALUES (1);
SELECT * //A is still empty
FROM A;
SELECT *
FROM B;
【问题讨论】:
标签:
mysql
sql
database
triggers
【解决方案1】:
对 cmets 使用正确的语法。见9.6 Comment Syntax。
DROP TABLE IF EXISTS B;
DROP TABLE IF EXISTS A;
CREATE TABLE A (
aVariable int
);
CREATE TABLE B (
bVariable int
);
DELIMITER //
CREATE TRIGGER AB AFTER INSERT ON B
FOR EACH ROW
BEGIN
-- IF (NEW.bVariable < 10) THEN //I also tried bVariable < 10
IF (NEW.bVariable < 10) THEN -- //I also tried bVariable < 10
-- INSERT INTO A VALUES (11)
INSERT INTO A VALUES (11);
END IF;
END//
DELIMITER ;
INSERT INTO B VALUES (1);
-- SELECT * //A is still empty
SELECT * -- //A is still empty
FROM A;
SELECT *
FROM B;