14 个解决方案
#1
set @num = 0;
seelct @num := @num + 1 ,* from tb;
seelct @num := @num + 1 ,* from tb;
#3
guxingyue1201 (guxingyue1201)
'截至2011-04-23 13:20:49 用户结帖率 0.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html
8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
'截至2011-04-23 13:20:49 用户结帖率 0.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html
8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
#4
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
#5
重新排序是因为id值不连续了,删除的行有可能是原来数据中的某一个中间行。
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
你的方法估计也不行,我做的是计费系统,后期数据量肯定很大,数据表不敢随便删掉
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
你的方法估计也不行,我做的是计费系统,后期数据量肯定很大,数据表不敢随便删掉
#6
哪位大哥帮忙想个实际的方法,帮帮忙
#7
那就只有用变量累计法了
set @num = 0;
seelct @num := @num + 1 ,* from tt;
#8
关于2楼指出的结贴率的问题,因为本人是新号,只是最近才发的帖子,所以还在寻觅答案中,本人不用吝啬分,只求受教
#9
这个语句在mysql的后台(本人是在虚拟机下用命令创建的表)怎么使用啊,另外本人感觉这种方法跟auto_increment无本质上的区别,这个变量不会计算记录的条数,当删除一条记录时,该变量还是不会自减,麻烦你给个具体点的方案把
#10
什么叫“
重新排序” ?
建议举例说明。
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式 http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
建议举例说明。
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式 http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
#11
重新排序就是这样:
id name
1 1
3 3
5 5
我现在想要使属性为auto_increment的id变成有序,即使
id name
1 1
2 3
3 5
id name
1 1
3 3
5 5
我现在想要使属性为auto_increment的id变成有序,即使
id name
1 1
2 3
3 5
#12
如果这种需求,在任何一种数据库中都无法通过自增字段来实现。
你应该使用触发器来实现这个功能,而不是auto_increment
另外这种应用显然会造成系统极大的负担和不确定性。比如 表中已经有1到10万连续的记录,当删除ID=10的记录时,后续的9万9千9百9十条记录都需要去更新ID值,显然这不是一个好的应用方案。
楼主应该问一下,“ 为什么要使ID值保持连续?”
你应该使用触发器来实现这个功能,而不是auto_increment
另外这种应用显然会造成系统极大的负担和不确定性。比如 表中已经有1到10万连续的记录,当删除ID=10的记录时,后续的9万9千9百9十条记录都需要去更新ID值,显然这不是一个好的应用方案。
楼主应该问一下,“ 为什么要使ID值保持连续?”
#13
其实想使ID值保持连续,我本人确实有点想法:
1.保持连续的话,看着给人的感觉就舒服点(当然有人提倡残缺美)
2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
#14
1.保持连续的话,看着给人的感觉就舒服点(当然有人提倡残缺美)
2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
.....跟这些没关系!~也不会出问题!ID就是个标识而已。
2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
.....跟这些没关系!~也不会出问题!ID就是个标识而已。
#1
set @num = 0;
seelct @num := @num + 1 ,* from tb;
seelct @num := @num + 1 ,* from tb;
#2
#3
guxingyue1201 (guxingyue1201)
'截至2011-04-23 13:20:49 用户结帖率 0.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html
8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
'截至2011-04-23 13:20:49 用户结帖率 0.00%
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html
8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
#4
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
#5
重新排序是因为id值不连续了,删除的行有可能是原来数据中的某一个中间行。
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
你的方法估计也不行,我做的是计费系统,后期数据量肯定很大,数据表不敢随便删掉
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
你的方法估计也不行,我做的是计费系统,后期数据量肯定很大,数据表不敢随便删掉
#6
哪位大哥帮忙想个实际的方法,帮帮忙
#7
那就只有用变量累计法了
set @num = 0;
seelct @num := @num + 1 ,* from tt;
#8
关于2楼指出的结贴率的问题,因为本人是新号,只是最近才发的帖子,所以还在寻觅答案中,本人不用吝啬分,只求受教
#9
这个语句在mysql的后台(本人是在虚拟机下用命令创建的表)怎么使用啊,另外本人感觉这种方法跟auto_increment无本质上的区别,这个变量不会计算记录的条数,当删除一条记录时,该变量还是不会自减,麻烦你给个具体点的方案把
#10
什么叫“
重新排序” ?
建议举例说明。
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式 http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
建议举例说明。
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式 http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
#11
重新排序就是这样:
id name
1 1
3 3
5 5
我现在想要使属性为auto_increment的id变成有序,即使
id name
1 1
2 3
3 5
id name
1 1
3 3
5 5
我现在想要使属性为auto_increment的id变成有序,即使
id name
1 1
2 3
3 5
#12
如果这种需求,在任何一种数据库中都无法通过自增字段来实现。
你应该使用触发器来实现这个功能,而不是auto_increment
另外这种应用显然会造成系统极大的负担和不确定性。比如 表中已经有1到10万连续的记录,当删除ID=10的记录时,后续的9万9千9百9十条记录都需要去更新ID值,显然这不是一个好的应用方案。
楼主应该问一下,“ 为什么要使ID值保持连续?”
你应该使用触发器来实现这个功能,而不是auto_increment
另外这种应用显然会造成系统极大的负担和不确定性。比如 表中已经有1到10万连续的记录,当删除ID=10的记录时,后续的9万9千9百9十条记录都需要去更新ID值,显然这不是一个好的应用方案。
楼主应该问一下,“ 为什么要使ID值保持连续?”
#13
其实想使ID值保持连续,我本人确实有点想法:
1.保持连续的话,看着给人的感觉就舒服点(当然有人提倡残缺美)
2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
#14
1.保持连续的话,看着给人的感觉就舒服点(当然有人提倡残缺美)
2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
.....跟这些没关系!~也不会出问题!ID就是个标识而已。
2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
.....跟这些没关系!~也不会出问题!ID就是个标识而已。