kv.*_*kv. 46
我同意其他方法可行,但我只是提出了不同的想法.这将没有任何临时表创建要求::
SET @i=0;
UPDATE table_name SET column_name=(@i:=@i+1);
Run Code Online (Sandbox Code Playgroud)
小智 15
尝试重新编号dalmp的方法(使用PHP的MySQL的DALMP数据库抽象层.)
$db->renumber('table','uid');
Run Code Online (Sandbox Code Playgroud)
基本上这样做:
SET @var_name = 0;
UPDATE Tablename SET ID = (@var_name := @var_name +1);
ALTER TABLE tablename AUTO_INCREMENT = 1
Run Code Online (Sandbox Code Playgroud)
最简单的解决方案是:
如果您使用外键,这将破坏您的所有数据,我强烈建议您将 ID 保持原样。数据库不是乱七八糟的,因为主键没有顺序,如果它的引用完整性(id 值指向其他表中错误或不存在的行)被破坏,则数据库是乱七八糟的。