7

我有一张没有主键的表。我需要实现某种在线模式更改,并且我不想更改插入顺序。在 MySQL 文档中,我发现了这个

如果表没有 PRIMARY KEY 或合适的 UNIQUE 索引,InnoDB 在内部生成一个隐藏的聚集索引,该索引包含行 ID 值的合成列。这些行按 InnoDB 分配给此类表中的行的 ID 排序。行 ID 是一个 6 字节的字段,随着新行的插入而单调增加。因此,按行 ID 排序的行在物理上是按插入顺序排列的。

是否可以从似乎有助于解决我的问题的表中获取此值?

4

1 回答 1

2

不,没有办法得到这个,因为也没有理由这样做。只要您没有在(or or )中指定ORDER BY子句,在数据库中的行就不会被排序。您不应该依赖“插入顺序”。SELECTUPDATEDELETE

只需添加一个列作为主键...

于 2014-02-04T16:10:01.007 回答