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

php中文网
发布: 2016-06-07 16:41:54
原创
2020人浏览过

本着“暂时无法解决的问题都是好问题”的原则记下这个问题,给以后的闲暇留下一些思考的粮食。 问题描述: 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)
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号