本帖最后由 ITbasketplayer 于 2013-11-04 16:16:19 编辑

解决方案 »

  1.   

    没测试
    1
    insert into person2(name,sex,pid)
    select name,sex,group_concat(id) from person1 group by name,sex;
    2
    create trigger tri_test after insert on person1 for each row
    begin
    if exists(select 1 from person2 where name=old.name and sex=old.sex)
     update person2 set pid=concat(pid,old.id) where  name=old.name and sex=old.sex;
    else
     insert into person2((name,sex,pid) values(old.name,old.sex,old.id);
    end if
    end
      

  2.   

    第一个有点问题啊,第一个的逻辑其实就是第二个,只是我不知道存储过程遍历整个表的遍历条件(难道是设置一个表结果数的变量,查询赋值给它?然后while小于它?)
      

  3.   

    "存储过程遍历整个表的遍历条件"
    没有遍历条件 就是发送一个sql语句 语句怎么执行同用不用存储过程没有关系的~~~
      

  4.   

    第一个有点问题啊,第一个的逻辑其实就是第二个,只是我不知道存储过程遍历整个表的遍历条件(难道是设置一个表结果数的变量,查询赋值给它?然后while小于它?)第一个语句的问题是什么? 理论上没有问题啊。