`

mysql对自增id重新从1排序的方法

 
阅读更多

方法一:如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数

truncate table 表名

 

方法二:

dbcccheckident ('table_name', reseed, new_reseed_value)

当前值设置为new_reseed_value。如果自创建表后没有将行插入该表,则在执行DBCC CHECKIDENT后插入的第一行将使用 new_reseed_value作为标识。否则,下一个插入的行将使用 new_reseed_value + 1。如果 new_reseed_value的值小于标识列中的最大值,以后引用该表时将产生2627号错误信息。

 

方法二不会清空已有数据,操作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。

 

转:http://blog.csdn.net/u012964999/article/details/51742475

分享到:
评论

相关推荐

    两种mysql对自增id重新从1排序的方法

    本文将介绍两种方法来实现 MySQL 自增 ID 从 1 开始重新排序。 方法一:清空表并重置自增 ID 如果旧数据不再需要,可以使用 `TRUNCATE TABLE` 语句清除所有数据,同时自动重置自增 ID 从 1 开始。`TRUNCATE TABLE` ...

    java快速ID自增器

    1. **原子类**:Java的`AtomicLong`类是线程安全的,可以用于实现自增ID。每次获取新ID时,只需要调用`incrementAndGet()`方法,该方法会原子性地增加当前值并返回新的值。 2. **数据库序列**:如果使用的是支持...

    donkeyid, php扩展,64位自增id生成器.zip

    在传统的MySQL自增ID方案中,当达到最大值时,ID会回绕,这在分布式系统中可能导致冲突。而`donkeyid`通过算法优化,避免了这个问题,它可以在多台服务器上安全地生成不重复的ID,支持水平扩展。 `donkeyid`的实现...

    id重新排序

    执行以上三个步骤后,`table_name`表的`id`字段将会被重新排序,所有记录的ID将从1开始依次递增。需要注意的是,这个过程会丢失原有的ID值,如果你需要保留这些信息,需要先备份相关数据。此外,如果表中存在大量...

    Mysql(序列/ID)生成方案

    1. **自增主键**:基础的ID生成方式,但在高并发下可能不够。 2. **SELECT...FOR UPDATE**:结合`LAST_INSERT_ID()`,在锁定行的基础上确保唯一性,但可能引发锁竞争。 3. **MySQL 8.0窗口函数**:使用`ROW_NUMBER()...

    MYSQL获取行号row_no

    - `SELECT COUNT(*) + 1 FROM users u2 WHERE u2.userId 对每个记录计算小于当前记录ID的数量并加1,得到行号。 - `AS rowId`:将计算结果命名为`rowId`。 这种方法可以处理更大规模的数据集,并能根据不同的排序...

    MYSQL分页limit速度太慢的优化方法

    特别是当`OFFSET`值增大时,MySQL需要扫描更多的行来找到需要的数据,这可能导致查询速度变慢,甚至对服务器性能造成压力。以下是一些针对MySQL `LIMIT` 分页速度慢的优化方法: 1. **避免大`OFFSET`值**: 当`...

    MySQL rownumber SQL生成自增长序号使用介绍

    在MySQL中,生成自增长序号是常见的需求,尤其是在处理数据分页或排序时。然而,与Oracle和SQL Server等其他数据库系统不同,MySQL的早期版本(如5.1.33)并未提供ROWNUM这样的内置功能。这篇文章将介绍如何在MySQL...

    mysql新手学习技巧

    - **自增ID策略**:默认的自增ID是线性增长,考虑使用LAST_INSERT_ID()函数或AFTER INSERT触发器来处理。 6. **事务与并发控制**: - **事务理解**:掌握ACID特性,理解隔离级别(READ UNCOMMITTED, READ ...

    细聊分布式ID生成方法.pdf

    ##### 4.1 数据库自增ID 利用数据库提供的自增功能是一种简单有效的解决方案。例如,MySQL提供了`AUTO_INCREMENT`属性,可以自动为表中的某列生成递增序列号。这种方式适用于单机环境或者小型分布式系统。 - **...

    精选常见mysql五十五道面试题目

    1. 关于ID自增的问题,实际上取决于表使用的存储引擎。MyISAM表在数据文件中保存了自增主键的最大值,即使删除记录,重启后仍会从18开始。然而,InnoDB表只在内存中保存这个最大值,因此删除记录并重启后,新插入的...

    Mysql索引优化案例.pdf

    假设我们有一个员工记录表`employees`,该表通过自增且连续的主键`id`排序。在这种情况下,我们可以通过主键来进行高效的分页查询。如: ```sql SELECT * FROM employees WHERE id > 90000 LIMIT 5; ``` 这样的...

    MySQL 查询文章的上下篇

    1. `id`:文章的唯一标识,通常为自增整数。 2. `title`:文章标题。 3. `prev_id`:上一篇文章的ID,若当前文章是第一篇,则为`NULL`。 4. `next_id`:下一篇文章的ID,若当前文章是最后一篇,则为`NULL`。 在`...

    Mysql(MyISAM)的读写互斥锁问题的解决方法

    如果使用自增ID做主键,则新数据始终是位于数据文件的结尾。了解了这些基础知识,我们可以更好地解决读写互斥锁问题。 解决读写互斥锁问题的关键是通过配置MyISAM的参数来实现。concurrent_insert是一个非常重要的...

    mysql+新闻发布系统

    - **新闻表**:通常会包含字段如`id`(主键,自增),`title`(新闻标题),`content`(新闻内容),`author`(作者),`post_time`(发布时间),`category_id`(分类ID)等。`id`作为唯一标识,`post_time`用于...

    mysql 分页例子

    1. 使用索引:对用于排序和分页的列创建索引,可以显著提升查询速度。 2. 避免使用OFFSET:OFFSET值越大,查询性能越低,因为数据库需要扫描更多的行。可以结合用户当前页码计算OFFSET值,例如,当用户在第3页时,...

Global site tag (gtag.js) - Google Analytics