测试环境

1.MYSQL版本
+------------+
| version()  |
+------------+
| 5.7.18-log |
+------------+2.建表语句
mysql> show create table M;                                                                                                                                                                                                                                                                                                                                                CREATE TABLE
create table `M` (`id` int(10) NOT NULL DEFAULT '0',`domain` varchar(255) DEFAULT NULL,`ip` int(10) unsigned DEFAULT NULL,`ipv6` varbinary(16) DEFAULT NULL,`intime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `domain` (`domain`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 3.表结构mysql> desc M;
+-----------+------------------+------+-----+-------------------+-----------------------------+
| Field     | Type             | Null | Key | Default           | Extra                       |
+-----------+------------------+------+-----+-------------------+-----------------------------+
| id        | int(10)          | NO   | PRI | 0                 |                             |
| domain    | varchar(255)     | YES  | UNI | NULL              |                             |
| ip        | int(10) unsigned | YES  |     | NULL              |                             |
| ipv6      | varbinary(16)    | YES  |     | NULL              |                             |
| intime    | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-----------+------------------+------+-----+-------------------+-----------------------------+测试如下:在建表的时候没有使用自增ID,这样会引业务后续出现小问题,现在通过数据交换的方式更改M表ID为自增ID注:生产环境谨慎执行1.直接更改M表时,是更改不了的,有主键冲突
mysql> alter table M change id id int not null auto_increment;
ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'2.可以用数据交换的方式来进行更改,创建新表M_newmysql> CREATE TABLE M_new LIKE M;Query OK, 0 rows affected (0.49 sec)3.更改新表M_new为自增IDmysql> ALTER TABLE M_new -> CHANGE COLUMN `Id` `Id` INT(10) NOT NULL AUTO_INCREMENT;
Query OK, 0 rows affected (0.79 sec)
Records: 0  Duplicates: 0  Warnings: 04.将M表数据插入到M_new表中,注意select的列是除了ID列mysql> insert into M_new (domain,ip,ipv6,intime) select domain,ip,ipv6,intime from M;5.数据插入完成后,交换表名
mysql>RENAME TABLE M TO M_old, M_new TO M;Query OK, 0 rows affected (0.34 sec)6.再次查看M表,现在是自增ID了mysql> desc M;
+-----------+------------------+------+-----+-------------------+-----------------------------+
| Field     | Type             | Null | Key | Default           | Extra                       |
+-----------+------------------+------+-----+-------------------+-----------------------------+
| Id        | int(10)          | NO   | PRI | NULL              | auto_increment              |
| domain    | varchar(255)     | YES  | UNI | NULL              |                             |
| ip        | int(10) unsigned | YES  |     | NULL              |                             |
| ipv6      | varbinary(16)    | YES  |     | NULL              |                             |
| intime    | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
|+-----------+------------------+------+-----+-------------------+-----------------------------+

ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'相关推荐

  1. ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ‘1‘ for key ‘PRIMARY‘

    ERROR 1062: ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key ...

  2. 更改mysql数据库主键自增时报错ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1

    当我用SQLyog尝试修改已有记录的mysql数据表的主键为自动增长时,报出以下错误 ALTER TABLE causes auto_increment resequencing, resulting ...

  3. ​​​​​​​ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key

    ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1′ for key 问题:表中存在主键为0 ...

  4. 【mysql】ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key ‘PR

    设置主键字段为自动递增时语句报错 ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1′ fo ...

  5. 【MYSQL报错】ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry

    解决方案: 将主键字段值为0的那条记录值改为其他大于0且不重复的任意数 修改主键字段为auto_increment 把刚才修改过的那条记录的值还原

  6. ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key

    问题:表中存在主键为0的一条数据. 解决:把主键为0的这条数据的值(主键id=0)改为其他不重复的值即可. 然后在修改自动递增. 转载于:https://www.cnblogs.com/kamback ...

  7. 修改数据库主键为自增长时报错“[Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ”

    修改数据库主键为自增长时报错: [Err] 1062 - ALTER TABLE causes auto_increment resequencing, resulting in duplicate ...

  8. mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'

    现在有一个标签表,里面已经填入了一些数据了,想把主键生成策略改成自增的: ALTER TABLE `tags` CHANGE COLUMN `Id` `Id` INT(11) NOT NULL AUT ...

  9. 关于逆向工程,解决mysql数据库遇到的1406问题,ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'

    先说逆向过程,先是在PowerDesginer这个软件上生成数据表,然后生成sql脚本, 生成sql脚本: 然后在命令行进行数据生成. 1.连接mysql数据库 2.use 数据库(其中一个空数据库) ...

最新文章

  1. 扩增子图表解读6韦恩图:比较组间共有和特有OTU或分类单元
  2. SAP MM初阶之ME12里为啥只能维护少量条件类型的价格?
  3. python怎么在电脑上使用-使用python在本地电脑上快速处理数据
  4. 字节码学院之map介绍
  5. pyharm虚拟环境_手把手教你如何在Pycharm中加载和使用虚拟环境
  6. 1230: 最小花费(spfa)
  7. 轻量NuGet服务—BaGet
  8. 详解 QT 主要类 QWidget
  9. 技术水平低,就这还敢写自动化项目实战经验丰富?
  10. 二维码扫描ZXing简化
  11. 扩充你的工具箱 - 大行文件的处理
  12. mysql5.6.31安装及配置
  13. 使用Xdebug调试和优化PHP程序[3]
  14. OpenCV人工智能图像处理学习笔记 第5章 计算机视觉加强之图像美化
  15. Java对象转Map
  16. 多元函数中的偏导数全导数以及隐函数
  17. (翻译)关系型数据库工作原理(二)
  18. Mac上实时网速、内存等显示
  19. python量化分析前景_Python3 量化分析笔记从小白到破产-学习路线规划
  20. 【案例】 生成词云玩玩?

热门文章

  1. 【python】详解pandas.DataFrame.resample根据时间聚合采样(一)
  2. Java 编程问题:二、对象、不变性和`switch`表达式
  3. CFileDialog文件对话框
  4. snprintf_s解释
  5. Java数组:一维数组的定义和赋值
  6. 如何用百度离线API调用百度离线地图
  7. javascript获取字符串长度
  8. fastdfs上传文件的简易方法
  9. NO_ACCESS Protection
  10. this指向,认识与理解this指向