触发:插入刚刚插入的行

时间:2015-02-19 18:33:23

标签: mysql sql triggers mysql-workbench

我想创建一个触发器,允许我在另一个表中插入我刚刚插入的列。我在论坛上提出了一些建议,所以这是我的触发器创建:

CREATE DEFINER = CURRENT_USER TRIGGER `database`.`Action_AFTER_INSERT` AFTER INSERT ON `Action` FOR EACH ROW BEGIN
INSERT INTO `database`.`StockConnu` (`Action_Isin`)
SELECT `Isin` FROM `inserted`;END;

要插入,我的请求:

INSERT INTO `database`.`action`
(`Isin`,
`Valeur`,
`Maj`,
`Devise`)
VALUES
('YHOO',
34,
'2015-02-07',
'euro');

Workbench告诉我:

Error Code: 1146. Table 'database.inserted' doesn't exist

我尝试了没有引号和其他语法,但在Action中插入数据时仍然无法正常工作。

请帮忙......

编辑:

问题解决了" new。" zsuzsa-matyas下面暴露的技巧

1 个答案:

答案 0 :(得分:0)

我认为问题出在以下几行:

 SELECT Isin FROM inserted;

应该在另一个INSERT命令中指定数据库名称:

SELECT NEW.Isin;