已经开了一个帖子如下
http://topic.csdn.net/u/20101231/09/53b8dac9-6a39-4491-b784-3fd5eed7f6cc.html
由于我问题没有表达清楚,因此另外开帖咨询:我有一张表前台是支持 “追加行”和“插入行”两种操作 ID  Name 
 1    a
 2    b
 3    c
 4    d在前台执行了插入操作,在第三行插入了一条记录。5,F   ID  Name 
 1    a
 2    b
 5    F
 3    c
 4    d
=================================我Select 出来必须按照我插入的顺序,5,F依然在第三行这个位置无变化。

解决方案 »

  1.   


    select * from tb order by id asc
      

  2.   

    CREATE TABLE test
    (
    ID INT,
    Name VARCHAR(100),
    Sort INT
    )INSERT INTO test
    SELECT 1, 'a', 1 UNION ALL
    SELECT 2, 'b', 2 UNION ALL
    SELECT 3, 'c', 3 UNION ALL
    SELECT 4, 'd', 4SELECT * FROM TEST
    --插入时(在前台获取你的新的sort编号,插入在第3行)
    UPDATE test SET sort = sort + 1 WHERE sort >= 3
    INSERT INTO test VALUES(5, 'F', 3)
    --追加时
    INSERT INTO test SELECT 6, 'G', (SELECT COUNT(*)+1 FROM test)
    --显示
    SELECT * FROM test ORDER BY [sort]