插入值取决于另一列触发器sql的值

时间:2017-09-05 07:38:53

标签: sql laravel-5 triggers

所以这是我的问题。我有excel文件上传。我需要的是我需要在一列中插入'1'或'2',同时将数据从excel文件填充到sql db取决于另一列的值。是否可以创建在同一个表中上传数据时插入的触发器?谢谢。

 CREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `trg_utCode` BEFORE  INSERT ON `exceldisbursements` 
FOR EACH ROW 

BEGIN 
 UPDATE exceldisbursements
 SET ut_id = CASE
 WHEN ex_responsibility_center LIKE '001-05%' THEN 2
 WHEN ex_responsibility_center LIKE '001-5%' THEN 2
 ELSE 1
END;
END;

1 个答案:

答案 0 :(得分:0)

你正在制作的是你桌子上的完整更新(你没有任何where子句)。您只需要使用“:new”绑定变量。例如:

BEGIN 
 :new.ut_id = CASE
 WHEN :new.ex_responsibility_center LIKE '001-05%' THEN 2
 WHEN :new.ex_responsibility_center LIKE '001-5%' THEN 2
 ELSE 1
 END;
END;