从一表a中随即抽取10个值插进表b(b1,b2)中,表中a(a1,a2)没有主键,a1可以重复,怎么实现在A中删除掉b中新插入的数据?
菜鸟贴,盼急回复!!!!!好像mysql没有一个函数能获得行号?本想通过这种方式删除。

解决方案 »

  1.   

    delete a from a inner join b on a.a1=b.b1 and a.a2=b.b2
      

  2.   

    delimiter //
    create trigger mike before insert on b
    for each row
    bin
    delete from a where a.a1=new.b1 and a.a2=new.b2;
    end
    // 
    delimiter ;
      

  3.   

    从一表a中随即抽取10个值插进表b(b1,b2)中,表中a(a1,a2)没有主键,a1可以重复,
    insert into b(b1,b2) select a1,a2 from a order by rand() limit 10;怎么实现在A中删除掉b中新插入的数据?
    delete from a where exists (select 1 from b where b1=a.a1 and b2=a.a2);如果是要触发器,则按二楼的就可以了。