这可能吗?
例如:
record1
record2
record3
我想在record4
之后插入record1
。
答案 0 :(得分:5)
数据库表(我假设关系数据库表)表示无序的记录集。没有秩序,没有“后”的概念。所以不,这是不可能的。
答案 1 :(得分:3)
要添加 abl 的正确答案,如果您确实希望“记录4”出现在“记录1”之后并且有办法可以,那么您需要应用ORDER对SELECT查询的BY语句,并可能使用INDEX来提高效率。
例如:如果您的所有记录都包含数字“员工ID”,并按如下方式插入4条记录:
Rec#1:1234 Fred Smith
Rec#2:1240 Alice Bloggs
Rec#3:1260 Bill Brice
Rec#4:1239 Emma Gibbs
然后当数据库以这种方式“存储”它们时,没有一些额外的指令(例如:ORDER BY),SQL甚至不保证按此顺序返回它们!
所以
SELECT EmpID, EmpName FROM EmpTable
每次运行命令时,都可能以任何顺序为您提供这些记录。 在实践中,如果不添加或更改这些记录,您很可能会看到每次都返回相同的订单, 但您不能指望它!
要以EmpID顺序取回记录,请使用:
SELECT EmpID, EmpName FROM EmpTable ORDER BY EmpID
如果您有大量记录,请添加索引以帮助提高性能。 (尽管如此,这应该存在以确保主键(EmpID)的唯一性 - 即:确保您不能拥有两个具有相同ID的员工。)