Mysql 如何更新表以添加主键并使用递增的ID更新所有现有行?
我有一个表,其中包含我导入的20000行数据,但我忘记在表上放置主键,因此每行都有一个唯一的键 我希望第一行从ID 1开始,一直递增到最后一行,并在ID 20000处结束。如何使用单个查询更新所有行Mysql 如何更新表以添加主键并使用递增的ID更新所有现有行?,mysql,sql,database,indexing,auto-increment,Mysql,Sql,Database,Indexing,Auto Increment,我有一个表,其中包含我导入的20000行数据,但我忘记在表上放置主键,因此每行都有一个唯一的键 我希望第一行从ID 1开始,一直递增到最后一行,并在ID 20000处结束。如何使用单个查询更新所有行 我正在使用MySQL。已尝试使用PhpMyAdmin,但无法使用。添加新ID列后(暂时不要设置为主键,也不要启用自动增量),运行: 这将在每个现有行上设置一个从1开始递增的ID值,从而解决在输入数据后尝试插入新的主键列时会遇到的重复键问题 完成此操作后,您可以使用自动递增功能将ID列设置为主键。更改
我正在使用MySQL。已尝试使用PhpMyAdmin,但无法使用。添加新ID列后(暂时不要设置为主键,也不要启用自动增量),运行: 这将在每个现有行上设置一个从1开始递增的ID值,从而解决在输入数据后尝试插入新的主键列时会遇到的重复键问题
完成此操作后,您可以使用自动递增功能将ID列设置为主键。更改
tablename
并运行以下SQL语句。它将创建一个名为id的新主键,并从第一行1开始填充它
ALTER TABLE `tablename` ADD COLUMN id INT(10) AUTO_INCREMENT NOT NULL FIRST, ADD PRIMARY KEY (id);
哇。我现在需要这个给甲骨文。还有什么提示吗?
ALTER TABLE `tablename` ADD COLUMN id INT(10) AUTO_INCREMENT NOT NULL FIRST, ADD PRIMARY KEY (id);