ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'
来源:互联网 发布:网络教育专科多少费用 编辑:程序博客网 时间:2024/05/17 09:10
测试环境
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 ||+-----------+------------------+------+-----+-------------------+-----------------------------+
阅读全文
0 0
- ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'
- ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key
- error1062 ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for
- 更改mysql数据库主键自增时报错ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1
- 设置数据库主键自动增长时出现提示:alter table cause auto_increment resequencing,resulting in duplicate entry '
- ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
- ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
- MySQL ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
- ERROR 1062 (23000): Duplicate entry '5' for key 'PRIMARY'
- ERROR 1062 (23000) at line 1: Duplicate entry '1332883220' for key 'group_key'
- ALTER TABLE tbl AUTO_INCREMENT = 100;
- ERROR:duplicate key in table MYsql
- ALTER TABLE causes&nbs…
- ALTER TABLE in SQLite
- ERROR 1062 (23000) at line 26903: Duplicate entry 'onli????' for key 'xxxx_script_name'
- txt导入Mysql:ERROR 1062(23000):Duplicate entry '0' for key 'PRIMARY'
- MySql出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
- RDS 在线DDL诡异报错ERROR 1062 (23000): Duplicate entry
- lua repeat until 先statement 后执行判断
- 样式之王css3简单介绍
- java字符串
- 剑指offer_栈和队列---栈的压入,弹出序列
- PHP知识细节
- ERROR 1062 (23000): ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1'
- ajax动态赋值highcharts柱形图
- Android进阶#(6/12)让程序更优的技术——性能优化_内存泄漏
- android断点续传多线程下载
- 网络栈主要结构介绍(socket、sock、sk_buff,etc)
- 赢在面试之Java集合框架篇
- 一位资深程序员大牛给予Java初学者的学习路线建议
- 《华为机试在线训练》之数据分类处理
- 【转载】$("body").animate({"scrollTop":top})不被Firefox支持问题的解决