插入数据库记录到指定位置

时间:2021-12-21 21:47:58
能够插入一条记录到mysql的指定位置吗?比如作为第一条记录插入。

然后是如何改变一条记录在数据库中的位置?提前或者置后?

8 个解决方案

#1


up
但是你要实现的肯定可以不通过这种方式来完成

#2


MYSQL是按照记录生成的时间来排序的;搂主为何要这样做?在实际应用中应该可以通过排序来实现你的目的吧

#3


具体点,举个例子:就比如csdn中一个板块下的很多主题,通常是按照
时间顺序插入到数据库(时间大的在前面,或者在查询中实现)。但是,
如果想置顶一个主题呢,怎样才能办到?想把一个主题的位置提前,又怎
么办呢?这个时候排序恐怕很难办到。

如果列中有索引,改变索引的值恐怕也不行(因为很难确定改为多少)。

另外一个附带的问题,对于自动增加的列,如果删除某行,该列的值是
不会自动调整的,这样一来,频繁的删除和插入操作势必会很快使该列
达到该列的上线值,这个时候还可以插入行吗?

#4


对于置顶,可以通过设置一个标志(Flag)字段来实现. 

插入的时候,如果某行被删除了. 只要你在插入前确定没有这个id,那么就可以插入.
举个例子:
我有这样一个表,其中 id 为 自动增长的:
id  name  number  
1   a     5 
2   b     2 
3   a     7 
4   c     9 
5   a     3 

然后执行删除操作,删除第三行
id  name  number  
1   a     5 
2   b     2 
4   c     9 
5   a     3 

在进行 SQL 操作:
INSERT INTO `ss` ( `id` , `name` , `number` ) 
VALUES (
'3', 'a', '8'
);

结果如下:
id  name  number  
1   a     5 
2   b     2 
3   a     7 
4   c     9 
5   a     3 

然后执行 
id  name  number  
1   a     5 
2   b     2 
3   a     8
4   c     9 
5   a     3 

#5


置顶一样可通过时间来控制,应该在数据库中有置顶的表或者帖子增加字段标志为置顶及置顶时间。跟设精华是一样

#6


phanx 说的对用这个方法很容易实现啊

#7


记录的物理位置是不能调整的!!  可以用排序调整记录的外在显示顺序。

#8


我现在用id做索引了,遇到要置顶,提前的,都是改变id,也基本实现了,
谢谢大家。

#1


up
但是你要实现的肯定可以不通过这种方式来完成

#2


MYSQL是按照记录生成的时间来排序的;搂主为何要这样做?在实际应用中应该可以通过排序来实现你的目的吧

#3


具体点,举个例子:就比如csdn中一个板块下的很多主题,通常是按照
时间顺序插入到数据库(时间大的在前面,或者在查询中实现)。但是,
如果想置顶一个主题呢,怎样才能办到?想把一个主题的位置提前,又怎
么办呢?这个时候排序恐怕很难办到。

如果列中有索引,改变索引的值恐怕也不行(因为很难确定改为多少)。

另外一个附带的问题,对于自动增加的列,如果删除某行,该列的值是
不会自动调整的,这样一来,频繁的删除和插入操作势必会很快使该列
达到该列的上线值,这个时候还可以插入行吗?

#4


对于置顶,可以通过设置一个标志(Flag)字段来实现. 

插入的时候,如果某行被删除了. 只要你在插入前确定没有这个id,那么就可以插入.
举个例子:
我有这样一个表,其中 id 为 自动增长的:
id  name  number  
1   a     5 
2   b     2 
3   a     7 
4   c     9 
5   a     3 

然后执行删除操作,删除第三行
id  name  number  
1   a     5 
2   b     2 
4   c     9 
5   a     3 

在进行 SQL 操作:
INSERT INTO `ss` ( `id` , `name` , `number` ) 
VALUES (
'3', 'a', '8'
);

结果如下:
id  name  number  
1   a     5 
2   b     2 
3   a     7 
4   c     9 
5   a     3 

然后执行 
id  name  number  
1   a     5 
2   b     2 
3   a     8
4   c     9 
5   a     3 

#5


置顶一样可通过时间来控制,应该在数据库中有置顶的表或者帖子增加字段标志为置顶及置顶时间。跟设精华是一样

#6


phanx 说的对用这个方法很容易实现啊

#7


记录的物理位置是不能调整的!!  可以用排序调整记录的外在显示顺序。

#8


我现在用id做索引了,遇到要置顶,提前的,都是改变id,也基本实现了,
谢谢大家。