[英]insert a new record just after a old record in a database table
这可能吗?
例如:
record1
record2
record3
我想在record1
之后插入record4
。
数据库表(我假设是关系数据库表)表示无序的记录集。 没有秩序,就没有“之后”的概念。 所以不,这是不可能的。
要添加到abl的正确答案中,如果您实际上希望“记录4”出现在“记录1”之后,并且有一种方法可以实现,那么您需要将ORDER BY语句应用于SELECT查询,并可能使用索引以提高效率。
例如:如果您的所有记录都包含数字“雇员ID”,并且您插入4条记录,如下所示:
Rec#1:1234弗雷德·史密斯
Rec#2:1240爱丽丝博客
Rec#3:1260比尔·布莱斯
Rec#4:1239艾玛·吉布斯
然后,尽管数据库以这种方式“存储”它们,而没有任何其他指令(例如:ORDER BY),SQL甚至不保证按此顺序返回它们!
所以
SELECT EmpID, EmpName FROM EmpTable
每次您运行命令时,都可能以任何顺序为您提供这些记录。 实际上,在不添加或更改这些记录的情况下,您很可能每次都看到相同的订单, 但是您不能指望它!
要以EmpID顺序取回记录,请使用:
SELECT EmpID, EmpName FROM EmpTable ORDER BY EmpID
如果您有大量记录,请添加索引以提高性能。 (尽管如此,无论如何它都应存在以确保主键(EmpID)的唯一性,即:确保您不能有两个具有相同ID的雇员。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.