已经开了一个帖子如下
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依然在第三行这个位置无变化。
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依然在第三行这个位置无变化。
select * from tb order by id asc
(
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]