【发布时间】:2012-03-16 07:55:33
【问题描述】:
我有一张像这样的表
CREATE TABLE IF NOT EXISTS `language` (
`idkey` int(10) unsigned NOT NULL AUTO_INCREMENT,
`english_lang` text,
`japanese_lang` text,
PRIMARY KEY (`idkey`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1587 ;
“idkey”只是一个从 1 开始并递增的数字。
“idkey”当前在我已删除的条目的编号中有间隙,我想看看是否可以运行 MySQL 命令来重写此列,以便编号中没有间隙。
例如:重写它,使其从 1 开始并运行到结束(大约 1400 个条目)。
谢谢
【问题讨论】:
-
看起来 idkey 应该是主键,通常开始重新编号主键是个坏主意。您是否有特定的原因要这样做?
-
该表是一个静态表,它所关联的网站也在开发中。主键也与其他任何内容无关。只是想在我上线之前修复排序但是很难手动完成,因为 Japanese_lang 文本字段是 unicode 并且当我尝试在大多数编辑器中手动更新时值会丢失......而且更新需要很长时间1400 个数字......真是太好了......希望有人知道一个简单的 MySQL 更新命令,它能够重写这样的列......
标签: mysql