在 table 中的行之间插入数据

Data inserting in between the rows in table

我有一个 table,它有大约 1,000,000 条记录。我注意到当我插入一条记录时,它最后并没有被插入,而是被插入在

之间

例子

我的table(测试)

Si. 姓名。 地址。
1. 测试。 1/2 测试
2. 测试。 3/4 测试

Si 创建了唯一索引但没有定义主键

所以当我插入 table

Insert into testing (si,name,address) Values (3., Test., 5/6 test)

我得到以下

Si. 姓名。 地址。
1. 测试。 1/2 测试
3. 测试。 5/6 测试
2. 测试。 3/4 测试

我该如何解决这个问题。

据我所知,该值通常会在最后插入,但仅此一项就可以做到这一点。

你的“问题”根本不是问题。

这是我们正在谈论的关系数据库。把它想象成一个装满苹果的篮子。当您将一个新苹果放入其中时,您如何知道在这个苹果之前 插入 哪个苹果?你不能。

插入关系数据库也是如此table - 可以在任何地方插入行

如果您想 return 行按特定顺序排列,您 必须 使用 ORDER BY 子句。当然,还有一些数据可以作为排序依据。在您的示例中,这是 si 列。

因此,而不是

select * from testing;

select * from testing order by si;

这就是它的工作原理;你对此无能为力。 有时 看起来好像可以省略 order by,但这是一种误导,您不能依赖它。始终使用 ORDER BY.