[英]How to use triggers in Mysql
伙計們,我正在探索MySQL中的觸發器,我有些困惑。 我已經創建了這個表:
persons
pid #primary key
last_name
first_name
然后這個表:
employee_hierarchy
emp_id #primary key
pid #foreign key
role
並創建此觸發器:
CREATE TRIGGER after_person_insert
AFTER INSERT ON persons
FOR EACH ROW
INSERT INTO employee_hierarchy
VALUES('','LAST_INSERT_ID()','employee');
觸發已成功創建。 但是每當我嘗試插入人員表時,我都會得到一個外鍵錯誤。 所以我放棄了外鍵,這是成功的。 但是此觸發器的用途是什么呢? 您能找到一個有用的好例子嗎? 原因也許這不是旨在更新外鍵,我不知道。
無需嘗試從LAST_INSERT_ID()
獲取值(順便說一句,因為在引號中插入了一個字符串),您只需要從NEW.pid
讀取分配的值NEW.pid
。 在AFTER INSERT
時間AFTER INSERT
,您現在可以使用它。
CREATE TRIGGER after_person_insert
AFTER INSERT ON persons
FOR EACH ROW
INSERT INTO employee_hierarchy
VALUES(NULL, NEW.pid, 'employee');
這是SQLFiddle演示
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.