不要告诉我@rownum:=@rownum+2,因为我实际需要的是members里面满足条件的单行记录。

解决方案 »

  1.   

    不是的,如果要记录集拿出来以后直接insert到另一个表怎么办啊,不是用在程序里面。
      

  2.   

    嗯.
    两个方法
    A:
     必须使用临时表.
    set @rownum:=0;
    INSERT INTO tmpTable
        select @rownum:=@rownum+1 as 'ListId', id, name from members;INSERT INTO ResultTable
        SELECT id, name  FROM members WHERE ListId % 2 = 1;B:
    set @rownum:=0;
    INSERT INTO IGNORE ResultTable 
        SELECT 
          IF((@rownum:=@rownum+1) % 2 = 1, id, Null) id,
          name
        FROM members这里要注意的是 ResultTable 表的 Id 字段必须是有设了 NOT NULL 属性
    :)