MySQL社区

标题: mysql5.6触发器问题 [打印本页]

作者: clinhai    时间: 2016-10-27 12:13
标题: mysql5.6触发器问题
本帖最后由 clinhai 于 2016-10-27 12:15 编辑

1.功能说明
有四个表,device表里存储着设备的名称,所属项目,设备类型,设备所属io站点。往这个表里插入一条设备信息时,将所属项目信息通过触发器写入itemname表中,字段名称也为itemname,写之前判断有无这个项目,如果没有责插入。设备类型和所属io站点也是同样的判断后插入。
2.现写的sql语句为:
  1. create trigger after_insert_trigger after insert  
  2. on device FOR EACH ROW  
  3. begin  

  4. set @count = (select count(de_type) from de_type where de_type = new.de_type);  

  5. if @count = 0 then  
  6. insert into de_type(de_type) values(new.de_type);
  7. end if;


  8. set @count = (select count(ioname) from ioname where ioname = new.de_ioname);  

  9. if @count = 0 then  
  10. insert into ioname(ioname) values(new.de_ioname);
  11. end if;  

  12. set @count = (select count(itemname) from itemname where itemname = new.de_itemname);  

  13. if @count = 0 then  
  14. insert into itemname(itemname) values(new.de_itemname);
  15. end if;
  16. end;  
复制代码

3.现在问题是执行报错,求高手告诉下问题原因及解决方法,感谢!
mysql版本为5.6

4.jpg (71.35 KB, 下载次数: 58)

4.jpg

3.jpg (69.12 KB, 下载次数: 63)

3.jpg

5.jpg (113.01 KB, 下载次数: 70)

5.jpg

2.jpg (69.53 KB, 下载次数: 69)

2.jpg

1.jpg (84.11 KB, 下载次数: 67)

1.jpg

作者: 星期一    时间: 2016-12-26 13:48
是不是缺少delimiter?




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2