Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何更新表以添加主键并使用递增的ID更新所有现有行?_Mysql_Sql_Database_Indexing_Auto Increment - Fatal编程技术网

Mysql 如何更新表以添加主键并使用递增的ID更新所有现有行?

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列设置为主键。更改

我有一个表,其中包含我导入的20000行数据,但我忘记在表上放置主键,因此每行都有一个唯一的键

我希望第一行从ID 1开始,一直递增到最后一行,并在ID 20000处结束。如何使用单个查询更新所有行


我正在使用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);