目前我有 2 个表。
表 1 = myit_table_customer - 此表包含客户名称、客户 ID、客户电子邮件
表 2 = myit_table_work_order - 此表包含客户姓名、客户 ID、客户电子邮件、票号、时间、日期等...
我目前的问题是,每当我创建工作订单时,它都会插入客户姓名、客户电子邮件、时间、票号 - 自动递增和日期,但它会为客户 ID 插入 (0)。
我想创建一个触发器 IF 在数据库上插入 new.email 地址 = myit_table_customer 中的电子邮件地址,然后从 myit_table_customer 中获取该客户的客户 ID,并将其分配给 myit_table_work_order 中的 Customer_ID
这是我目前所拥有的:
CREATE TRIGGER tickets AFTER INSERT ON myit_table_work_order
FOR EACH ROW
BEGIN
IF CUSTOMER_ID IS NULL (SELECT CUSTOMER_ID FROM myit_table_customer WHERE CUSTOMER_ID = NEW.CUSTOMER_ID) THEN
INSERT INTO myit_table_work_order (CUSTOMER_ID) VALUES (NEW.CUSTOMER_ID);
END IF;
再次感谢。
最佳答案
如果我正确理解你的问题,我认为你需要这样的触发器:
CREATE TRIGGER tickets
BEFORE INSERT ON myit_table_work_order
FOR EACH ROW
SET NEW.customer_id = (SELECT id
FROM myit_table_customer
WHERE email=NEW.email);
请参阅 fiddle here .
关于mysql - 在插入时创建 MySQL 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739951/