在插入时创建MySQL触发器

时间:2014-02-12 21:22:22

标签: mysql sql

目前我有2张桌子。

表1 = myit_table_customer - 此表包含客户名称,客户ID,客户电子邮件

表2 = myit_table_work_order - 此表包含客户名称,客户ID,客户电子邮件,票号,时间,日期等...

我目前的问题是,每当我创建工单时,它会插入客户名称,客户电子邮件,时间,票号 - 自动增量和日期,但会为客户ID插入(0)。

我想在数据库中创建一个触发器IF,在myit_table_customer中插入new.email地址=电子邮件地址,然后从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;

再次感谢。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,我认为你需要像这样的触发器:

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);

请参阅小提琴here