• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ERROR 1062 (23000): Duplicate entry ‘1’ for key ‘P

mysql 搞代码 4年前 (2022-01-09) 33次浏览 已收录 0个评论

本着“暂时无法解决的问题都是好问题”的原则记下这个问题,给以后的闲暇留下一些思考的粮食。 问题描述: 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 O<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码&网*</mark>K, 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)

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ERROR 1062 (23000): Duplicate entry ‘1’ for key ‘P
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址