自动增量列与主键一起使用

时间:2016-03-17 16:09:54

标签: mysql database

我需要按插入时间对查询结果进行排序 最简单的方法是在每行存储一个InputStream键来按数量对数据进行排序 但也需要生成随机ID 作为auto_increment生成 它将类似于以下内容:

+------------------------+-------------+------------------+
| sortId(auto_increment) | id(primary) | content(varchar) |
+------------------------+-------------+------------------+
| 0                      | 23245       | some text        |
+------------------------+-------------+------------------+
| 1                      | 94655       | some text        |
+------------------------+-------------+------------------+
| 2                      | 59413       | some text        |
+------------------------+-------------+------------------+

所以我将能够加载按primary_key分类的数据 但正如我在sortID中看到的那样,当我在表格中phpmyadmin时,我不允许添加auto_increment列。
为什么会发生这种情况?如何解决呢? 有没有什么办法可以更好地对来自数据库的查询结果进行排序?
感谢。

2 个答案:

答案 0 :(得分:0)

将sortID列从 INT 更改为 TIMESTAMP ,并将其默认值设置为TIMESTAMP。它会在每次创建行时插入当前时间戳,您不仅可以按照对整数进行排序的方式对它们进行排序,而且还可以知道何时创建。

答案 1 :(得分:0)

如果您担心设置外键约束,可以在任何索引字段上设置它们,因此我建议您将sortId设置为主要自动递增索引,并id a独特的指数。

除非你真的有充分的理由反对这种惯常做法。