一个表在插入之前我需要先验证一下数据是否重复
重复则不插入。给个实例。

解决方案 »

  1.   

    写个插入的sp 在sp里面判断
      

  2.   

    呵呵,我有两个表a,b。都有一个共同的字段x。因为a表分区后不能建唯一索引,所以用b表的x来判断a表的x是否有重复的,没有在a,b两表都插入,重复则不插入。
      

  3.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/07/25/4380183.aspx
    MySQL 中如何在触发器里中断记录的插入或更新?
      

  4.   

    CREATE TRIGGER user_insert
     BEFORE Insert on user
     FOR EACH ROW
     BEGIN
     DECLARE num INTEGER;
     select count(*) into num from user_log where user_log.name=NEW.name;
     if num>0 then
    insert into user_log(name) values(new.name);
     insert into user(name) values(new.name); end if;
     END
    我插入新的数据时,只在user表插入,user_log表插不进去,给看看,谢谢。
      

  5.   

    1:BEFORE Insert,是在插入之间触发,所以num 应该一直为0
    2:insert into user(name) values(new.name);在INSERT触发器里不能对触发表再进行同样的操作,会造成触发死循环,MYSQL不允许的。
      

  6.   

    用after吗?加入user_log有,怎么办?