mysql如何在表中插入元素_维护MySQL数据库表中元素的顺序或在MySQL的特定位置插入新行...

我有一个数据库表,维护一些信息,并需要保留订单.基本上如果我列出了元素1到5,并且我想添加一个新元素,那么它可以插入到现有行中的任何位置,可以是最后一个,5之后,1之前的开始或中间的某个位置,例如3之后有没有办法使用

MySQL INSERT语句并指定我们应该在哪一行插入索引?

我认为不是.所以我的策略是创建另一个列’order_number’,它基本上记录了元素的顺序.

例如,如果记录表具有主键(record_id)和并排列出的order_number,它将如下所示:

record_id order_number

1 1

2 2

3 3

4 4

5 5

要在第3行之后向此行添加新元素,生成的结束表将如下所示:

record_id order_number

1 1

2 2

3 3

**6** **4**

4 **5**

5 **6**

在这种情况下,我可以通过简单地选择我想要的数据并提供Order By order_number asc子句来清楚地实现我想要的顺序.

但是,正如您所看到的,要做一个简单的Insert,它需要我更新每个其他行的order_number

它出现在它之后.该表预计至少具有大量的行(大小为100,000),并且在每次单个插入操作时简单地更新每隔一行(因此锁定表)根本不可行.

在这种情况下,什么是更好的推荐策略?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值