### mysql自增长主键,删除数据后,将主键顺序重新排序
用数据库的时候,难免会删除数据,会发现设置的主键增长不是按照正常顺序排列,中间有断隔比如这样。
以我这个情况举例
处理方法的原理:删除原有的自增ID,重新建立新的自增ID。
```
ALTER TABLE `news` DROP `NewsID`;
ALTER TABLE `news` ADD `NewsID` int NOT NULL FIRST;
ALTER TABLE `news` MODIFY COLUMN `NewsID` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(NewsID);
```
```
ALTER TABLE `表名` DROP `id`;
ALTER TABLE `表名` ADD `id` int NOT NULL FIRST;
ALTER TABLE `表名` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);
```
执行上述代码后主键增长恢复正常
常规代码如下:
1,删除原有主键:
```
ALTER TABLE `table_name` DROP `id`;
```
2,添加新主键字段:
```
ALTER TABLE `table_name` ADD `id` int NOT NULL FIRST;
```
3,设置新主键:
```
ALTER TABLE `table_name` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);
```
================
数据库中把ID自增长重置成1:
一般做法:(太麻烦)
复制表数据->删除原表、新建一张表->粘贴;
新方法一:
数据库中:新建查询->复制、粘贴一下代码->修改表名,执行即可(先把表数据清空);
```
DBCC CHECKIDENT ('表名', RESEED, 0)
```
新方法二:
```
TRUNCATE TABLE 表名
```
===================
一、不清空数据
原理:删除原有的自增ID,重新建立新的自增ID。
1,删除原有主键:
```
ALTER TABLE `table_name` DROP `id`;
```
2,添加新主键字段并设置主键:
```
ALTER TABLE `table_name` ADD 'id' mediumint(6) PRIMARY KEY NOT NULL AUTO_INCREMENT FIRST;
```
二、如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
```
truncate table 表名
```
- HTML
- 讯飞插件
- Python
- 王者荣耀
- demo_cg.py
- demo_cg_TT.py
- img.py
- MySQL
- 清空表数据
- ID自增长重置
- 用户密码及权限操作
- 外键在数据库中的作用
- MySQL增删改查语句
- DDL-数据库操作
- DDL-表操作-查询
- DDL-表操作-创建
- DDL-表操作-数据类型
- DDL-表操作-修改
- DDL-表操作-删除
- DML-语句
- DML-添加数据
- DML-修改数据
- DML-删除数据
- DQL-语法
- DQL-基本查询
- DQL-条件查询
- DQL-聚合函数
- DQL-分组查询
- DQL-排序查询
- DQL-分页查询
- DCL-介绍
- DCL-管理用户
- DCL-权限控制
- 函数
- JS
- ajax
- ajax get请求
- ajax post提交
- ajax 同时上传文本和文件到数据库(inpt text和input file)
- 路径传值+接收解析
- js 本地sessionStorage
- js Excel导出.xls
- 二维码生成插件
- VUE-CLI4
- 安装手脚架及插件
- ECharts-数据可视化
- element-ui-时间戳
- qrcode二维码生成插件
- vuedraggable-拖拽组件
- vue-drag-resize-自由拖拽、缩放组件
- gitee配置
- src
- plugins
- element.js
- echartsMixin.js
- views
- login
- login.vue
- btn.vue
- home
- home.vue
- Welcome.vue
- user
- users.vue
- router
- main.js
- App.vue
- 引入语法
- 获取路径传值
- ajax请求
- token语法
- NPM更换镜像方案
- PHP
- PHP 微信网页登录
- PHP 判断函数
- PHP 获取微信公众号openid
- PHP 实现发送模板消息(微信公众号版)
- PHP 阳历阴历转换计算生肖闰年
- PHP 接口数组形式
- PHP 同文件夹下顺序命名
- PHP 输出文件
- PHP E-mail发送
- PHP cURL资源
- PHP 远程访问控制服务器
- PHP 8.0 开启mysqli扩展
- PHP 使用 OSS 批量上传图片
- PHP md5 加密与解密
- ThinkPHP
- PT6
- TP6安装多应用
- TP5
- view渲染模板常见语法
- Visual Studio Code
- 介绍
- 插件-eslint
- vs code插件
- VSCode添加自定义模板
- SFTP
- md格式的文档
- mermaid
- frp内网穿透
- 自定义端口
- ui-china.cn
- 常用软件
- 框架
- 服务器
- 微信小程序
- 云函数 Email
- 参数传递
- 其他
- VMware虚拟机centos7设置静态ip 连接外网