首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用主/唯一键排序

禁用主/唯一键排序
EN

Stack Overflow用户
提问于 2016-08-03 23:59:05
回答 1查看 58关注 0票数 1

我注意到mysql使用主键或唯一键重新排序行,并以这种方式存储它们。我可以取消这个命令吗?

代码语言:javascript
复制
 id (prim)  │ column1 │ column2
────────────┼─────────┼──────────
            │         │          

如果我将下面的数组插入上面的表中

代码语言:javascript
复制
$rows = [
    ["8", "a", "a"],
    ["4", "b", "b"],
    ["3", "c", "c"],
    ["5", "d", "d"],
];

我得到以下信息

代码语言:javascript
复制
 id (prim)  │ column1 │ column2
────────────┼─────────┼──────────
  3         │ c       │ c         
  4         │ b       │ b         
  5         │ d       │ d         
  8         │ a       │ a          

我认为使用unique代替primary会有帮助,但它没有帮助,我仍然得到了有序的行。难道没有办法保持行的原始顺序,即插入顺序吗?

行应按其插入顺序存储,同时具有主键或唯一键。

代码语言:javascript
复制
 id (prim)  │ column1 │ column2
────────────┼─────────┼──────────
  8         │ a       │ a            
  4         │ b       │ b      
  3         │ c       │ c          
  5         │ d       │ d         

如果不使用主键或唯一键,则会得到所需的结果。

这个表和数组只是用来妖魔化的。在实际的表中,我不对主键使用自动增量或任何顺序数字/字符串。每一行都有一个唯一的随机标识符,例如9Z4CQtVd8Z。把它们分类没有任何目的/好处。我想按插入顺序保留这些行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-04 00:03:03

存储数据的顺序一点也不感兴趣。而且mysql和其他数据库没有提供任何保证,它将按主键顺序存储数据。检索数据时,需要使用ORDER子句。

如果插入一组数据并在没有特定顺序的情况下检索数据,则很可能会按照插入的顺序返回数据。但是,如果在此之后删除几行,然后再插入几行,则默认排序将发生更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38755482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档