1
嘿所有,所以我已经创建了一个看起来像这样的表命名的产品:MYSQL触发器来填充新表
`CREATE TABLE products
(
Prod_ID int(10),
Prod_name varchar(20),
Prod_qty varchar(20),
Prod_price int(20)
);`
Product_log表是几乎相同的另一个表称为产品:
`CREATE TABLE product_log
(
Prod_ID int(10),
Prod_name varchar(20),
Action_Date date,
Updated_by varchar(30),
Action varchar(30)
);`
下一页我创建了一个名为products_after_insert的触发器,它应该在插入产品中的一行后将数据插入到product_log表中。
对插入后触发器的要求是,应在product_log表中插入操作日期,并且应插入用户名,例如谁插入了数据ex:data操作符 ,最后操作应该自动插入product_log表中像这里的行动是插入。
这里是我的触发器:
`DELIMITER //
CREATE TRIGGER products_after_insert
AFTER INSERT
ON products
FOR EACH ROW
BEGIN
DECLARE data_operator int(10);
DECLARE action_per varchar(200);
SET data_operator = 1;
SET action_per = 'INSERTION';
IF data_operator=1 THEN
INSERT INTO product_log(prod_id,prod_name,Action_date,Updated_by,Action)
VALUES(NEW.prod_id,NEW.prod_name,SYSDATE(),'data_operator','action_per');
END IF;
END;
//DELIMITER;`
现在,我认为我错误地构建了扳机,因为它似乎没有工作。
有谁知道我在做什么错?任何帮助将不胜感激!谢谢!
明白了。现在它的工作! @ThomasG – Sanam
好:-)现在你的SO职责是:当他们回答你的问题时标记接受的答案 –