Dre*_*rew 11 php mysql auto-increment
我有一个图片库,网站成员可以上传图像.上传图像时,会写入一个MySQL行,其中包含有关图像,成员等的各种信息.此行使用AUTO_INCREMENT创建其ID,以便getimage.php?id=XX可以获取要显示的图像.
我使用for循环遍历ID以显示库中的图像.
如果我删除第5行/图像,例如,AUTO_INCREMENT从去123456789到12346789.
我想从头开始重新为MySQL表中的每一行分配ID.所以12346789变为12345678.我将如何实现这一目标?
Dre*_*rew 18
我发现这个工作完美且非常快,所以这里是:
ALTER TABLE tablename DROP id
ALTER TABLE tablename ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id), AUTO_INCREMENT=1
我知道这不是正确的方法,但对于我的具体情况,这正是所需要的.我正在使用的表中没有任何内容可以从另一个表中引用.
Joh*_*ica 12
如果你想让自动递增的id 永远是连续的,那就放手吧,这是一场无用的斗争.
如果您只想重新编号一次,那很简单:
创建具有相同布局的新表:
CREATE TABLE mytable2 LIKE oldtable;
将所有行复制到新表,记住不要选择auto_incrementing id,否则将保留旧编号.
INSERT INTO mytable2 (field2, field3, field4)
  SELECT field2, field3, field4 FROM oldtable ORDER BY oldtable.id;
RENAME oldtable archive;
RENAME mytable2 oldtable;
DROP archive;
你现在有连续的编号.
| 归档时间: | 
 | 
| 查看次数: | 8747 次 | 
| 最近记录: |