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職責是:當他們回答你的問題時標記接受的答案 –