例如以下表有a,b两个字段,其中a字段是auto_incrementa      b
1      我
2      非
3      常
4      爱
5      你如果现在我有一条数据
a      b
2      真的想插在第一行的下边,而原来的第二行的编号也依次向下移动变成3,4,5,6就是以下效果a      b
1      我
2      真的
3      非
4      常
5      爱
6      你不知道如何解决,大家帮帮忙啊

解决方案 »

  1.   

    INSERT INTO LSB SELECT * FROM TT WHERE ID>2
    DELETE FROM TT WHERE ID>2
    REPLACE INTO TT(B) VALUES('真的')
    INSERT INTO TT(B) SELECT B FROM LSB
      

  2.   

    INSERT INTO LSB SELECT * FROM TT WHERE ID>=2
    DELETE FROM TT WHERE ID>=2
    INSERT INTO TT(B) VALUES('真的')
    INSERT INTO TT(B) SELECT B FROM LSB
    OR
    CREATE TABLE LSB AS SELECT * FROM TT WHERE ID>=2
    DELETE FROM TT WHERE ID>=2
    INSERT INTO TT(B) VALUES('真的')
    INSERT INTO TT(B) SELECT B FROM LSB
      

  3.   

    update 以下表 set a=a+1 where a>=2;
    insert into 以下表 values (2,'真的');
      

  4.   

    你可以在SP中将ID做为参数传入
      

  5.   

    or
    update tt set a=a+1 where a>=2
    insert into tt values(2,'真的')
      

  6.   

    哦,是auto_incrementupdate的时候需要逆序update s set a=a+1 where a>=2 order by a desc;
    insert into s values (2,'真的');
      

  7.   


    我是楼主,现在把表命名为table,那个a字段是primary key的
      

  8.   

    ERROR 1062 (23000): Duplicate entry '2' for key 1