如何知道哪一行调用了触发器?

时间:2017-02-22 08:54:50

标签: php mysql database triggers

我正在尝试编写一个触发器,只要在特定表中创建行,就会调用该触发器, 假设有一个表“A”并且还有另一个表“B”,我想要做的是每当在表“A”中插入记录但是使用记录的主键时我想在表“B”中插入记录插入表“A”中。

我遇到的解决方案是我可以使用表“A”的最后插入记录的主键,但如果有两个以上的用户同时尝试插入,则可能会产生问题。

1 个答案:

答案 0 :(得分:1)

您可以使用NEW在AFTER INSERT TRIGGER中获取自动增量主键的值:

CREATE 
TRIGGER `insert_on_table_a`
AFTER INSERT ON `table_A`
FOR EACH ROW
    BEGIN
    INSERT INTO table_b (table_a_ID) VALUES (NEW.ID);
    END IF;
END;

在此示例中,table_a的自动增量列为ID,您可以使用NEW.ID获取其值