火火锅 2018-03-06 09:35 采纳率: 66.7%
浏览 1499
已结题

mysql 如何在有数据的情况下使主键id从1增长

有个日志表,数据增长较快,很容易满,
于是我写了事件每年执行一次存储过程。存储过程就是把去年的数据移出来放到一个新表。
但是剩下的数据id可能已经自增到7,8位数了,
希望可以把剩下的数据重新从1开始增长,
请问各路大神,有没有什么方法,
有查到SOL server中有DBCC CHECKIDENT('TableName', RESEED, 0)这样的用法,不知道mysql中有没有

比如:
图片说明
图片中可以看出我的表里只剩下了4条数据,如果这个时候插入数据,只会在这个id的基础上增加,有没有方法可以将这个4条数据从1开始;

有一种比较笨的方法是:新建一个临时表,把数据复制过去,再将这个表清空,再把临时表数据插入进来。
但是如果这是线上的数据表,随时都会有数据进来,上面那个方法的操作会不会有风险

  • 写回答

5条回答 默认 最新

  • Aurora215 2018-03-06 09:47
    关注

    有2种方式

    第一种 清空数据表,使表中的数据从1开始增长

    truncate table TableName

    第二种 从特定的某一个值开始自动增长 如下

    alter table jx_pcmx AUTO_INCREMENT 0(0为开始增长的位置);

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建