社区
MySQL
帖子详情
怎么样让带有auto_increment属性的id列中一些记录被删除之后,后面的id自动把前面的填充满呢?
lianglin999
2011-04-25 10:47:37
假如我的id列(auto_increment)中有10条记录,1,2,3,4,5,6,7,8,9,10
我删除3,4,5之后
再插入数据,id值却是从11开始,
有没有什么办法让新插入的id值从删除的地方3开始增加呢?
...全文
431
11
打赏
收藏
怎么样让带有auto_increment属性的id列中一些记录被删除之后,后面的id自动把前面的填充满呢?
假如我的id列(auto_increment)中有10条记录,1,2,3,4,5,6,7,8,9,10 我删除3,4,5之后 再插入数据,id值却是从11开始, 有没有什么办法让新插入的id值从删除的地方3开始增加呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lianglin999
2011-04-26
打赏
举报
回复
感谢各位的回答,学习了
shine333
2011-04-25
打赏
举报
回复
[Quote=引用 5 楼 wwwwa 的回复:]
引用 4 楼 shine333 的回复:
引用 1 楼 wwwwa 的回复:
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
拜托,难道RDBMS等价于是excel(即使excel都可能存在vlookup之类的关联)
这样能够重新编号
[/Quote]
其他表呢?所以我说,数据库,不是excel。即使是excel都不能轻易变更ID,何况数据库。
WWWWA
2011-04-25
打赏
举报
回复
[Quote=引用 4 楼 shine333 的回复:]
引用 1 楼 wwwwa 的回复:
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
拜托,难道RDBMS等价于是excel(即使excel都可能存在vlookup之类的关联)
[/Quote]
这样能够重新编号
shine333
2011-04-25
打赏
举报
回复
[Quote=引用 1 楼 wwwwa 的回复:]
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
[/Quote]
拜托,难道RDBMS等价于是excel(即使excel都可能存在vlookup之类的关联)
ACMAIN_CHM
2011-04-25
打赏
举报
回复
TRUNCATE TABLE table1
或者
alter table table1 auto_increment=1
加油馒头
2011-04-25
打赏
举报
回复
楼主你说的真不行
要么自己动态取得最大值,插入
shine333
2011-04-25
打赏
举报
回复
首先,auto_increment不能,而且即使能够实现,也绝对得不偿失,即使你能够设置下一个ID=3,试问,在插入了3条记录以后(3,4,5),下一个ID应该=6吧,可是显然插入不了。这个时候有两种可能:
1,插入失败,但ID自增,按照你的例子,你可能需要插入失败5次,第六次(ID=11)才能操作成功;
2,数据库帮你负责找到下一个合适的位置。
无论哪种情况,当你的数据库有几百万甚至更多的数据的时候,显然是个灾难!
WWWWA
2011-04-25
打赏
举报
回复
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
wdar1314
2011-04-25
打赏
举报
回复
使用TRUNCATE TABLE重新设置AUTO_INCREMENT计数器
wwwwb
2011-04-25
打赏
举报
回复
[Quote=引用 6 楼 shine333 的回复:]
引用 5 楼 wwwwa 的回复:
引用 4 楼 shine333 的回复:
引用 1 楼 wwwwa 的回复:
备份数据(除了自增字段)->TRUNCATE tt;->插入记录
拜托,难道RDBMS等价于是excel(即使excel都可能存在vlookup之类的关联)
这样能够重新编号
其他表呢?所以我说,数据库,不是excel。即使是excel都不能轻易变更……
[/Quote]
1、楼主没有说明是否有其它表关联;
2、就楼主的问题,重新编号是比较好的方法;
3、当然也可以用SQL语句找出断号,再插入表中。
ACMAIN_CHM
2011-04-25
打赏
举报
回复
[Quote=引用楼主 lianglin999 的回复:]
假如我的id列(auto_increment)中有10条记录,1,2,3,4,5,6,7,8,9,10
我删除3,4,5之后
再插入数据,id值却是从11开始,
有没有什么办法让新插入的id值从删除的地方3开始增加呢?
[/Quote]如果是删除3,4,5,剩下 1,2,6,7,8,9,10则你无法设置MYSQL自动从3开始。除非你自己使用触发器。
【MySQL中
auto
_
increment
有什么作用?】
很多时候,MySQL语句中会出现【
auto
_
increment
】这个词汇,大多数时候,表都是
自动
生成的,刚开始学习MySQL数据库时会学习到,后来,渐渐地可能会忘记,那么这个语句的作用到底是什么意思?、
AUTO
_
INCREMENT
数据列序号的最大值受该列的数据类型约束,如TINYINT数据列的最大编号是127,如加上UNSIGNED,则最大为255。的,从1开始增长,当你把第一条
记录
删除
时,再插入第二条数据时,主键值是2,不是1。、
AUTO
_
INCREMENT
是数据列的一种
属性
,只适用于。...
【MySQL中
auto
_
increment
有什么作用?】| 前端面试:实现一个简单的节流函数(Throttle)和防抖函数(Debounce)。
目录问题来源解释注意事项 问题来源 很多时候,MySQL语句中会出现【
auto
_
increment
】这个词汇,大多数时候,表都是
自动
生成的,刚开始学习MySQL数据库时会学习到,后来,渐渐地可能会忘记,那么这个语句的作用到底是什么意思?下面,来汇总一下: 解释
auto
_
increment
是用于主键
自动
增长的,从1开始增长,当你把第一条
记录
删除
时,再插入第二跳数据时,主键值是2,不是1。 例如: create table test (
id
int(10) not null
auto
_
increment
,
mysql的
auto
_
increment
详解
auto
_
increment
的基本特性 MySQL的中
AUTO
_
INCREMENT
类型的
属性
用于为一个表中
记录
自动
生成
ID
功能,可在一定程度上代替Oracle,PostgreSQL等数据库中的sequence。 在数据库应用,我们经常要用到唯一编号,以标识
记录
。在MySQL中可通过数据列的
AUTO
_
INCREMENT
属性
来
自动
生成。 可在建表时可用“
AUTO
_
INCREMENT
=n”
mysql数据库
auto
_
increment
_mysql学习笔记(二:中的
auto
_
increment
理解
1、
auto
_
increment
理解1
auto
_
increment
是用于主键
自动
增长的,从1开始增长,当你把第一条
记录
删除
时,再插入第二跳数据时,主键值是2,不是1。例如:create table `test`(`
id
` int(10) not null
auto
_
increment
, -- 表示自增列`name` varchar(20) not null,primary key(`
id
`))au...
mysql 中
auto
_
increment
自增约束的用法和配置
特殊约束条件,用于为表中写入新的
记录
生成唯一的值,一个表中只能有一个自增约束字段。
auto
_
increment
_offset:初始值,也就是自增字段第一个值的大小。
auto
_
increment
_
increment
:自增间隔,也就是每次增加几。set
auto
_
increment
_offset=2 //将初始值修改为2。字段 数据类型
auto
_
increment
。查看与自增约束相关的变量。自增约束 int字段。创建
带有
自增约束的表。
MySQL
56,940
社区成员
56,758
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章