救命:求不删除、不修改数据而重置AUTO_INCREMENT的方法

logohoo 2018-06-27 05:56:11
create table users
(
id int auto_increment primary key
);
一开始创建users表,数据已经存到auto_increment的最大值了,id要重新从1开始,
但是我一直用users.id来命名图片文件,现在服务器已经存了很多文件了;
问题是:
想保留users表最后1千万条记录,前面id=1到最后1千万条之间记录全部删除,id从1开始,后面留1千万条记录;

这样怎么实现呢?
如果
1:truncate table,数据全没有了;
如果
2:
UPDATE table_name SET unique_id = unique_id - (SELECT min FROM (SELECT MIN(unique_id) As min FROM table_name) As t) + 1;
ALTER TABLE table_name AUTO_INCREMENT = 1;
这样id变了,存储文件名也要跟着改变,真是要命啊?

求拉。。。
...全文
374 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2019-08-01
  • 打赏
  • 举报
回复
213ssa3csacas1cs3a13
logohoo 2018-07-04
  • 打赏
  • 举报
回复
好的。谢谢了。
MW_long 2018-06-29
  • 打赏
  • 举报
回复
引用 7 楼 logohoo 的回复:
留言板,一天一千万条,不够啊。

mysql 有 bigint
logohoo 2018-06-29
  • 打赏
  • 举报
回复
留言板,一天一千万条,不够啊。
ACMAIN_CHM 2018-06-29
  • 打赏
  • 举报
回复
没有其它方法实现AUTOINCREMENT的重置。 BIGINT数据类型应该足够了。
logohoo 2018-06-28
  • 打赏
  • 举报
回复
没有 CREATE SEQUENCE sequenceopus INCREMENT 1 MINVALUE 1 MAXVALUE 45345546 START 1 CACHE 1; 自己搞 DELIMITER // create function _nextval(n varchar(50)) returns integer begin declare _cur int; set _cur=(select current_value from tb_sequence where name= n); update tb_sequence set current_value = _cur + _increment where name=n ; return _cur; end; // 但是并发数太大好像也不行啊,取到的值有重复啊。
  • 打赏
  • 举报
回复
好像MySQL没有sequence啊。
MW_long 2018-06-28
  • 打赏
  • 举报
回复
自增从多少开始自增的, 居然增满了
把id 改成 int unsigned, 这下你应该存不满了吧
logohoo 2018-06-28
  • 打赏
  • 举报
回复
最后么有办法了,只能另外创建一个参照表,表只有id int auto_increment primary key,而 users表改为: create table users ( id int primary key ); 这样取参照表的id做为users的新插入id,但是这样太耗存储空间了,求有哪种方法可以获取一个id递增方法,但是不要像参照表一样一直插新数据啊。因为并发数多,自己开一个静态变量来作为递增参考数,这样不行的。求了。。。。。。。。。。。。。。
logohoo 2018-06-27
  • 打赏
  • 举报
回复
数据不删除,用update,怎么知道下个是谁啊?找哪个来标记啊?一秒就有几百个记录更新,用哪个来作为累计数啊?用变量会造成竞争和阻塞问题?无办法?求帮助。
iamboy_11 2018-06-27
  • 打赏
  • 举报
回复
清空掉第1千万条记录前的所有记录,不删除难道不行吗?用update tableName set column = '' where id <10000000,然后再插入数据的时候用update更新而不是insert

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧