当前位置:首页 > 开发 > 数据库 > 正文

MySQL自增ID最大值被使用

发表于: 2015-03-23   作者:薰衣草之子   来源:转载   浏览:
摘要: 问题:评论数据表hotel_info_comments自增ID列达到最大值2147483647,但是并不是每一个ID都被使用了   解决办法:清理数据表的跳跃自增ID,保持ID连贯。   解决步骤:   1.   创建评论临时表 create table `hotel_info_comments_tmp` (   `id` int(

问题:评论数据表hotel_info_comments自增ID列达到最大值2147483647,但是并不是每一个ID都被使用了

 

解决办法:清理数据表的跳跃自增ID,保持ID连贯。

 

解决步骤:

 

1.   创建评论临时表

create table `hotel_info_comments_tmp` (

  `id` int(11) not null auto_increment comment '自增id',

  `hotel_id` varchar(50) not null comment '酒店id',

  `hotel_type` varchar(10) not null comment '酒店品牌id',

  `out_id` varchar(20) not null default '' comment '来源评论id',

  `src` varchar(10) not null comment '评论来源,kuaijie,ctrip,elong……',

  `room_id` varchar(10) default null comment '房型id',

  `order_id` varchar(50) default '' comment '订单id',

  `user_id` varchar(50) default '' comment '用户id',

  `parent_id` int(11) default null comment '父评论id',

  `content` varchar(2000) not null comment '评论内容',

  `side` int(1) not null default '1' comment '正面评价:1;负面评价:0',

  `aver_score` float default null comment '平均评分',

  `loca_score` float default null comment '位置评分0-5之间',

  `faci_score` float default null comment '设备评分0-5之间',

  `serv_score` float default null comment '服务评分0-5之间',

  `hygi_score` float default null comment '卫生评分0-5之间',

  `voted` int(1) not null default '0' comment '点赞',

  `is_reply` int(1) not null default '0' comment '是否可回复,1:可回复,0:不可回复',

  `status` int(1) not null default '1' comment '是否有效,1:有效,0:无效',

  `user_name` varchar(50) default null comment '用户名',

  `user_type` varchar(10) default 'customer' comment '用户类别,customer, shopper',

  `extra_info` varchar(800) not null comment '附加信息',

  `create_time` datetime not null comment '创建时间',

  `update_time` timestamp not null default current_timestamp on update current_timestamp comment '更新时间',

  primary key (`id`),

  unique key `outsrcid` (`src`,`out_id`),

  key `idx_hotel_idtype` (`hotel_id`,`hotel_type`,`order_id`),

  key `idx_user_order` (`user_id`,`order_id`),

  key `idx_user_hotel` (`hotel_id`,`hotel_type`,`user_id`),

  key `pid_index` (`parent_id`)

) engine=innodb auto_increment=2949076 default charset=utf8 comment='评论信息表';

 

2.   将线上表的数据插入临时表(自增ID列不转移)

insert into hotel_info_comments_tmp(`hotel_id`,`hotel_type`,`out_id`,`src`,`room_id`,`order_id`,`user_id`,`parent_id`,`content`,`side`,`aver_score`,`loca_score`,`faci_score`,`serv_score`,`hygi_score`,`voted`,`is_reply`,`status`,`user_name`,`user_type`,`extra_info`,`create_time`,`update_time`) select `hotel_id`,`hotel_type`,`out_id`,`src`,`room_id`,`order_id`,`user_id`,`parent_id`,`content`,`side`,`aver_score`,`loca_score`,`faci_score`,`serv_score`,`hygi_score`,`voted`,`is_reply`,`status`,`user_name`,`user_type`,`extra_info`,`create_time`,`update_time` from hotel_info_comments;

 

3.   检验线上表的的数据和临时表是否一致

select count(*) from hotel_info_comments;

select count(*) from hotel_info_comments_tmp;

 

4.   删除线上表

drop table hotel_info_comments;

 

5.   重命名临时表为线上表

rename table hotel_info_comments_tmp to hotel_info_comments;

 

*注意事项:尝试过alter table hotel_info_comments drop column id. alter table hotel_info_comments add column id. 表的数据200多万,这样非常慢;当前使用方法不适合更新维护频繁的表。

 

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install MySQL-python

MySQL自增ID最大值被使用

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
最近做数据处理时候,遇到一个问题。用一个id自增主键时候,数据表中会插入大量重复数据(除ID不同
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须
背景 Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须
有5张表 test是原始表,表结构如下 SELECT TOP 10 * FROM test 其他四张表都是复制test表 现做如下字
/** * 数据库接口 * @author thomescai@163.com * @version 2011-9-27 */ public interface MongoSe
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须
http://blog.csdn.net/thomescai/article/details/6829771 thomescai http://blog.csdn.net/thomesc
这篇文章是我从淘宝的一个PPT文档中整理的,就不好意思的定为原创吧,截图也挺麻烦的,呵呵 CREATE
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号