mysql - 包含可排列记录的表

标签 mysql sql database-design


如何制作一张表格,其中的行彼此顺序排列并且可以重新排列:
示例:

Rows:idappearance name
Records
 (1,"john"),(2,"mike")

现在,我想在它们之间插入“Avi”:
不必担心重新排列它们

(1,"john"),(2,"Avi"),(3,"mike")
  • 该表可以有外键 另一个表(例如部门......)。
  • idappearance是我想要的出现顺序 设置,不需要PK。
  • 它需要处理大约 50K 个名称,因此 O(n) 并不是最佳解决方案。

最佳答案

简单的解决方案是记录之间有合理的数字差距。换句话说;

(10000,“约翰”),(20000,“迈克”)

(10000,“约翰”),(15000,“阿维”),(20000,“迈克”)

(10000,“约翰”),(12500,“汤姆”),(15000,“阿维”),(20000,“迈克”)

等..

记录之间的差距应根据您的数据域确定

关于mysql - 包含可排列记录的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5514370/

相关文章:

php - 如何将utf8_general_ci编码的数据显示为json?

mysql - 如何在 MySQL 5.7 中组织这个查询?

MySQL多个团队成员

mysql - SQL语法帮助,条件AND

database - 在数据库中存储年份

postgresql - 使用多个模式或按 customerId 表列实现 Multi-Tenancy 数据结构

php - 创建论坛,并尝试按时间戳对两个表进行排序。一张表主题和其他回复。我该如何对这些进行排序?

c# - OleDB/MySQL参数添加

sql - 两张 table 还是一张 table ?

php - 在 Laravel 中创建备份 Controller