问题:评论数据表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 tablehotel_info_comments add column id. 表的数据200多万,这样非常慢;当前使用方法不适合更新维护频繁的表。

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

mysql自增id修改最大值_MySQL自增ID最大值被使用相关推荐

  1. mysql登录错误1045修改工具_mysql登录1045错误时 修改登录密码

    1.进入 mysql 的 bin 目录下,打开 cmd ,关闭 mysql 数据库. 2.输入 mysqld --skip-grant-tables 回车. 保持窗口不要更改不要关闭 (--skip- ...

  2. mysql主键用完了怎么办_MySQL 自增 ID 用完了怎么办?

    MySQL 自增 ID 用完了怎么办? 在MySQL中有很多类型的自增ID,每个自增ID都设置了初始值,然后按照一定的步长增加,只要定义了字节长度,那么就会有上限,如果达到上限再次添加,则会报主键冲突 ...

  3. mysql自增id用完了_MySQL表自增id用完了该怎么办?

    我们知道MySQL表可以定义一个自增长的id,如果我们的表没有指定主键字段,那MySQL会给我们的表创建一个不可见的,长度为6个自己的row_id,然后不停地往上加步长,虽然生活中自然数是没有上限的, ...

  4. mysql自增id用完了_MySQL 自增 ID 用完了怎么办?

    MySQL 自增 ID 用完了怎么办? 在MySQL中有很多类型的自增ID,每个自增ID都设置了初始值,然后按照一定的步长增加,只要定义了字节长度,那么就会有上限,如果达到上限再次添加,则会报主键冲突 ...

  5. mysql增删改查大全_MySQL数据库增删改查SQL语句(2018整理集合大全)

    查看数据库 show databases; 使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 crea ...

  6. mysql数据库增删改查关键字_MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句) 一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码) 二.SQL语句: 数据定义语言DDL  用来定义数据库.表.列,关键 ...

  7. mysql导入数据提前修改字段_Mysql一些导入导出数据库,添加修改字段命令_MySQL...

    bitsCN.com Mysql 导出数据库表包含数据命令: mysqldump -uroot -proot abc >/var/abc.sql; (mysql用户名:root 密码root 数 ...

  8. mysql怎么用游标修改数据_MySql使用游标Cursor循环(While)更新数据

    #要修改的变量 DECLARE var_ID VARCHAR(50) DEFAULT ''; #需要修改的数据的数量 DECLARE var_UpdateCount INT; #当前循环次数 DECL ...

  9. mysql查询最大值_MySQL 子查询——查询最大值

    子查询指将一个查询语句嵌套在另一个查询语句中.子查询可以在 SELECT.UPDATE 和 DELETE 语句中使用,而且可以进行多层嵌套.在实际开发时,子查询经常出现在 WHERE 子句中.子查询在 ...

最新文章

  1. mybatis和ibatis的一点区别
  2. GDCM:Patch File的测试程序
  3. 企业私有云部署im,视频服务
  4. 为什么Android Geeks购买Nexus设备
  5. circle后面是什么意思 python_Ape circle Python操作-第2-01章-列表操作,小猿圈,作业
  6. ddl hibernate_Hibernate:DDL模式生成
  7. python pip install pil_解决python的pip install PIL失败问题
  8. 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计
  9. 360的IM可能会是什么样?
  10. 计算机的拓扑 树状结构图,树状网络拓扑图模板分享
  11. java orb 是什么_什么是ORB
  12. 程序员啊 ,请保护好你的眼睛 !
  13. 微信小程序开发VIP商城项目
  14. svn is already locked如何解决
  15. 年末大盘点 2008十大最受欢迎的装机软件
  16. 《惢客创业日记》2019.01.30(周三)一月份的工作总结
  17. Unity_粒子特效
  18. 泰坦尼克号-数据加载及探索性数据分析
  19. 搜狗输入法低版本导致谷歌浏览器上传下载时崩溃
  20. MII、GMII、RMII、RGMII、SGMII、XGMII

热门文章

  1. 计算机配置审批表,北京邮电大学涉密计算机配置审批表.pdf
  2. 孙悟空为什么能大闹天宫,而打不过诸多妖精?[转贴]
  3. 每一次离别真的意味着重逢么
  4. mt5 mysql数据库_MySQL数据库配置主从复制
  5. 内网渗透之---PingTunnel怎么耍
  6. 视频播放器的html代码
  7. 行政管理可以跨考计算机吗,注意!所有考研跨考生,这3大热门专业不符合条件不能跨考!...
  8. 献给朋友们的一本书--《31天成为IT服务达人》
  9. 最小二乘法抛物线 c语言,C语言实现最小二乘法抛物线拟合
  10. Crypto刷题记录3