首页 > 数据库 >mysql将id重新修改为递增

mysql将id重新修改为递增

时间:2023-09-06 19:01:53浏览次数:35  
标签:10 08 递增 time mysql NULL config id

场景

好比我有个配置表:

CREATE TABLE `config` (
  `id` int NOT NULL AUTO_INCREMENT,
  `config_key` varchar(20)  NOT NULL,
  `config_value` varchar(500)  NOT NULL,
  `modified_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;

里面有3条数据:

INSERT INTO `test`.`config`(`id`, `config_key`, `config_value`, `modified_time`, `created_time`, `remark`) VALUES (1, 'aaa', 'aaa', '2023-08-10 10:17:45', '2023-08-10 10:17:45', NULL);
INSERT INTO `test`.`config`(`id`, `config_key`, `config_value`, `modified_time`, `created_time`, `remark`) VALUES (5, 'bbb', 'bbb', '2023-08-10 10:22:02', '2023-08-10 10:17:51', NULL);
INSERT INTO `test`.`config`(`id`, `config_key`, `config_value`, `modified_time`, `created_time`, `remark`) VALUES (10, 'ccc', 'ccc', '2023-08-10 10:22:05', '2023-08-10 10:20:16', NULL);

我先在想将这个id按照1,2,3这样排,且后面增加也是递增的,如果数据量少可以手动改,但是如果我有100条,然后乱了,手动排就很不现实,

解决,排序的话可以先按照一定大小改一下,然后将id字段删掉,再重新生成即可

-- 删除id
alter table config drop id;
-- 新增主键id
alter table config add id int primary key auto_increment first;

清空表数据,并将自增id改为1开始

TRUNCATE TABLE table_name;
ALTER TABLE table_name AUTO_INCREMENT = 1;

标签:10,08,递增,time,mysql,NULL,config,id
From: https://blog.51cto.com/javayida/7389640

相关文章

  • 如何在MySQL中对键值对表中的重复行进行多列排序?
    要在MySQL中对键值对表中的重复行进行多列排序,可以使用ORDERBY子句并指定多个列作为排序条件。以下是一个示例:假设有一个键值对表key_value,包含以下列:key_id、key_name、value。要对key_value表中的重复行按key_id和value进行排序,可以使用如下的SQL查询语句:SELECTkey_id,key_nam......
  • Android程序员面试技巧有哪些?这5个技巧码住
    很多Android程序员掌握的知识、技术非常过关,但是在面试的过程中不一定能完完全全地展现出来,面试效果不好极大影响着就业成功率以及薪资水平。所以大家在面试的时候,最好还是提前做做准备,掌握一些技巧更好。1、自我介绍一般面试面试,HR会让我们做一个自我介绍,但凡有一点准备的人,都会事......
  • android9 静默卸载应用
    需要在实现的app上加上android.uid.system和系统签名,然后执行以下方法privatevoidsilenceUninstall(StringpackageName){try{PackageManagerpm=this.getPackageManager();Method[]methods=pm!=null?pm.getClass().getDeclaredMetho......
  • MySQL整体架构简介
    MySQL是一个开源的关系型数据库管理系统(RDBMS)它的整体架构可以分为以下几个主要组件和层级:客户端层(ClientLayer)与MySQL交互的最顶层,如我们经常使用的MySql客户端工具,代表了客户端层。客户端通过TCP/IP协议与MySQL服务器进行通信,可以执行查询、更新数据等操作。MySQL......
  • 儿童玩具音乐芯片方案,6通道midi播放语音芯片,NV170D-8S
    随着科技的不断进步,儿童玩具行业也在不断演化。如今,儿童们期待的不仅仅是有趣的外观,还有令人惊叹的音乐和声音效果。为了满足这一需求,广州九芯电子研发了NV170D-8S,一款创新的6通道MIDI播放语音芯片,它将为儿童玩具带来前所未有的声音体验。 超越传统音乐芯片的可能性儿童玩具的音乐......
  • java 分布式id生成工具类
    importlombok.extern.slf4j.Slf4j;importjava.lang.management.ManagementFactory;importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.concurrent.ThreadLocal......
  • 软件测试|MySQL SELECT语句的详细使用
    简介MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了许多功能强大的SQL查询语句,其中最常用且最重要的是SELECT语句。SELECT语句用于从数据库表中检索数据,并根据给定的条件返回所需的结果集。在本文中,我们将深入探讨MySQLSELECT语句的各个方面,并提供一些示例来说明其用法。......
  • 软件测试|MySQL DISTINCT关键字过滤重复数据
    简介在MySQL中,有时候我们需要从表中检索唯一的、不重复的数据。这时,我们可以使用DISTINCT关键字来过滤掉重复的数据行。在本文中,我们将深入探讨MySQL中DISTINCT的用法以及如何在查询中使用它来得到不重复的结果集。基本语法DISTINCT关键字用于在SELECT语句中指示查询结果中去除重复......
  • 编写涉及多个数据库的 MySQL 存储过程注意事项
    在编写涉及多个数据库的MySQL存储过程时,有一些注意事项需要考虑。以下是一些重要的注意事项:数据库权限:确保您在存储过程中使用的数据库用户具有足够的权限来访问和操作涉及的所有数据库。这包括对表、视图、存储过程等对象的读取和写入权限。数据库连接:在存储过程中,您可能......
  • Revit API创建几何实体Solid并找到与之相交的元素
    几何实体的创建方法之一:构成封闭底面,指定拉伸方向与拉伸高度。GeometryCreationUtilities//自创几何实体相交法[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]publicclassFindIntersectWallsByGeometry:IExternalCommand{publicResult......