一句sql搞定Mysql删除数据后自增列从1开始
2016-03-16 16:29
1341 查看
在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。
数据库中设置了自增列,有时候需要清楚数据库从新录入数据.最常见的做法就是使用sql语句"delete 表明名"或是直接选中数据,然后删除数据.但是再次插入数据的时候,你就会发现自增列会从上次删除数据的最大值的下一个值开始,而不是从1开始的.有没有一种感觉,感觉挺苦恼的.
现在就交你两种方法,让你删除数据后,再次插入记录的时候,自增列从1开始.
方法一:
truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增的字段
truncate命令是会把自增的字段还原为从1开始的,或者你试试把table_a清空,然后取消自增,保存,再加回自增,这也是自增段还原为1 的方法。
方法二:
deletefrom 你的表名
dbcc checkident(你的表名,reseed,0)
//重新定位自增的字段,让它从1开始
这两个方法看着很简单,但是在你删除数据的时候,自增列再次插入的时候,发现数据不是从1开始的时候,你想过解决这个问题了吗?没有做不到的,只有想不到的.这些自增问题其实在设计数据库的初期时,开发人员就想到了.只是我们没有想到如何用而已.
数据库中设置了自增列,有时候需要清楚数据库从新录入数据.最常见的做法就是使用sql语句"delete 表明名"或是直接选中数据,然后删除数据.但是再次插入数据的时候,你就会发现自增列会从上次删除数据的最大值的下一个值开始,而不是从1开始的.有没有一种感觉,感觉挺苦恼的.
现在就交你两种方法,让你删除数据后,再次插入记录的时候,自增列从1开始.
方法一:
truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增的字段
truncate命令是会把自增的字段还原为从1开始的,或者你试试把table_a清空,然后取消自增,保存,再加回自增,这也是自增段还原为1 的方法。
方法二:
deletefrom 你的表名
dbcc checkident(你的表名,reseed,0)
//重新定位自增的字段,让它从1开始
这两个方法看着很简单,但是在你删除数据的时候,自增列再次插入的时候,发现数据不是从1开始的时候,你想过解决这个问题了吗?没有做不到的,只有想不到的.这些自增问题其实在设计数据库的初期时,开发人员就想到了.只是我们没有想到如何用而已.
相关文章推荐
- zabbix mysql调优
- MySQL行级锁
- Windows7下mysql安装后服务无法启动和启动后无法登录的问题解决的方法
- MySql知识点总结
- mysql salve从库设置read only 属性
- mysql数据库允许远程访问方法
- windows安装 mysql
- mysql 时间加法源码理解
- mysql 大对象
- MySQL的length类函数
- windows下安装mysql5.6及基本命令
- 【转】关于Class.forName(“com.mysql.jdbc.Driver”)
- mysql 忘记密码后如何修改密码
- 【转】关于Class.forName(“com.mysql.jdbc.Driver”)
- liunx下Mysql双机热备安装详解----谷营中西软件科技园
- MySQL中特有的函数CONV函数
- mysql 创建 用户 授权
- mysql 查看是否存在某一张表
- MySQL中特有的函数If函数
- MySQL优化必须调整的10项配置