在mysql中创建了my_insert触发器
select s=count(*) from stdent where name=new.name
if(s=0)then
insert student(name,id,call) values(new.name,new.id,new.call)
set @return='true'
else
set @return='false'
end if
但是老是提示not allowed to return aresult set from a trigger,由于刚从ms-sql server转过来所以对mysql语法还不是很熟,求修改,或者如何创建一个触发器或者存储过程在,插入语句之前先判断插入的名字(name)属性不能相等(不用主键方式),如果相等返回false不执行插入语句,如果名字属性不相等则插入数据返回true值.MySQL触发器存储过程

解决方案 »

  1.   

    select s:=count(*) from stdent where name=new.name;
    建议先看一下MYSQL官方免费手册中的语法介绍,然后再动手写,否则语法基础问题很多
      

  2.   

    select s:=count(*) from stdent where name=new.name
    or
    select @s:=count(*) from stdent where name=new.name
      

  3.   

    select @s:=count(*) from stdent where name=new.name 
    insert into ................
      

  4.   

    select count(*) into @s from stdent where name=new.name
      

  5.   

    改过来了,为什么还是显示Not allow to retuirn a result set from a trigger?这个该怎么解决呢?
      

  6.   

    改过来了,为什么还是显示Not allow to retuirn a result set from a trigger?这个该怎么解决呢?
      

  7.   

    改过来了,为什么还是显示Not allow to retuirn a result set from a trigger?这个该怎么解决呢?
      

  8.   

    楼主看来根本不愿意贴出完整的 create trigger 语句啊。问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
      

  9.   

    这个真是完整的语句我用navicat来弄的
      

  10.   

    去掉set @return='true'
       set @return='false'