首页  >  问答  >  正文

如何根据插入的数据值编写MySql插入触发器?

我想为表用户编写一个触发器。当添加新用户时,如果他的标题与 IT 相关,则在 IT 联系人列表表中创建一条记录。

所以我写了下面的触发器。

CREATE TRIGGER `test1` INSERT ON `Users` FOR EACH ROW BEGIN
IF INSTR(Title,'IT') > 0
THEN
INSERT INTO IT_contact_list (name,title) value (username,Title);
END IF;
END;

它有错误“未知字段列表中的列标题”,但它确实存在于表 Users 和 IT_contact_list 中。那么问题是什么?谢谢。

P粉277305212P粉277305212169 天前271

全部回复(1)我来回复

  • P粉448130258

    P粉4481302582024-04-04 10:30:24

    已在工作台中修复并测试。试试这个:

    delimiter //
    drop trigger if exists test1 //
    CREATE TRIGGER `test1` AFTER INSERT ON `Users` FOR EACH ROW BEGIN
    IF INSTR(new.Title,'IT') > 0
    THEN
    INSERT INTO IT_contact_list (name,title) value (new.username,new.Title);
    END IF;
    END//
    
    insert into Users values('john','HardwareIT');
    insert into Users values('bill','Hardware engineer');
    select * From IT_contact_list;
    
    --result set:
     john    HardwareIT

    回复
    0
  • 取消回复