ERROR 1062 (23000): Duplicate entry ‘1’ for key ‘P
程序员文章站
2022-05-11 12:40:07
...
本着“暂时无法解决的问题都是好问题”的原则记下这个问题,给以后的闲暇留下一些思考的粮食。 问题描述: 1.在一个插入过记录,有primary key的innodb表里面清空数据(或者删除并重建表)然后重新插入数据的时候总是会提示标题所示的信息。2.重新建表的时候sh
本着“暂时无法解决的问题都是好问题”的原则记下这个问题,给以后的闲暇留下一些思考的粮食。
问题描述:
1.在一个插入过记录,有primary key的innodb表里面清空数据(或者删除并重建表)然后重新插入数据的时候总是会提示标题所示的信息。2.重新建表的时候show create table 不会显示AUTO_INCREMENT=xx,但是向里面执行插入操作就会报错,这时候再show create table的时候就发现AUTO_INCREMENT=xx.
问题场景:
mysql> drop table cluster; Query OK, 0 rows affected (0.06 sec) mysql> CREATE TABLE `cluster` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` varchar(50) NOT NULL DEFAULT '' COMMENT '集群名称', -> `cdr_api` varchar(255) NOT NULL DEFAULT '' COMMENT '话单接口地址', -> `monitor_api` varchar(255) NOT NULL DEFAULT '' COMMENT '监控接口地址', -> `control_api` varchar(255) NOT NULL DEFAULT '' COMMENT '控制接口地址', -> `is_public` tinyint(2) NOT NULL DEFAULT '0' COMMENT '是否为共有集群1是0否', -> `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '集群是否有效1是0否', -> PRIMARY KEY (`id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='集群管理表'; Query OK, 0 rows affected (0.23 sec) mysql> show create table cluster; +---------+---------------------------------------------------------------------------+ | Table | Create Table | +---------+---------------------------------------------------------------------------+ | cluster | CREATE TABLE `cluster` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '' COMMENT '集群名称', `cdr_api` varchar(255) NOT NULL DEFAULT '' COMMENT '话单接口地址', `monitor_api` varchar(255) NOT NULL DEFAULT '' COMMENT '监控接口地址', `control_api` varchar(255) NOT NULL DEFAULT '' COMMENT '控制接口地址', `is_public` tinyint(2) NOT NULL DEFAULT '0' COMMENT '是否为共有集群1是0否', `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '集群是否有效1是0否', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='集群管理表' | +---------+-------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> insert into cluster(`id`,`name`,`cdr_api`,`monitor_api`,`control_api`,`is_public`,`status`) select `id`,`name`,`daddr`,`monitorurl`,`opensipsurl`,`type`,1 from trunking.trunking_manager; ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' mysql> show create table cluster; +---------+--------------------------------------------------------------------------+ | Table | Create Table | +---------+--------------------------------------------------------------------------+ | cluster | CREATE TABLE `cluster` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '' COMMENT '集群名称', `cdr_api` varchar(255) NOT NULL DEFAULT '' COMMENT '话单接口地址', `monitor_api` varchar(255) NOT NULL DEFAULT '' COMMENT '监控接口地址', `control_api` varchar(255) NOT NULL DEFAULT '' COMMENT '控制接口地址', `is_public` tinyint(2) NOT NULL DEFAULT '0' COMMENT '是否为共有集群1是0否', `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '集群是否有效1是0否', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='集群管理表' | +---------+---------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> select * from cluster; Empty set (0.00 sec)
原文地址:ERROR 1062 (23000): Duplicate entry ‘1’ for key ‘P, 感谢原作者分享。
推荐阅读
-
SQL state ‘23000‘, error code ‘1062‘, message [Duplicate entry ‘2‘ for key ‘PRIMARY‘]-batch批处理问题小结
-
mysql 出现Error: Duplicate entry “xxxx” for key 1解决办法
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决_MySQL
-
1062 - Duplicate entry 33 for key 1_PHP教程
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决_MySQL
-
ERROR 1062 (23000): Duplicate entry ‘1’ for key ‘P
-
mysql error:#1062 Duplicate entry for key 1
-
SQL state ‘23000‘, error code ‘1062‘, message [Duplicate entry ‘2‘ for key ‘PRIMARY‘]-batch批处理问题小结
-
mysql #1062 Duplicate entry '1' for key 'PRIMARY'_MySQL
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决