小编Mar*_*sen的帖子

在生产中将主键列从 INT 更改为 BIGINT (MySQL 5.6.19a)

我们生产数据库中的一些 INNODB 表即将达到 2147483647 的 INT AUTO_INCREMENT 限制,我们需要将它们更改为 BIGINT,否则写入将开始失败。

这些表位于在 Amazon RDS 上运行的生产 MySQL 5.6.19a 数据库中。

我们如何在不中断一直发生的生产读取和插入的情况下执行这样的 ALTER 操作?

ALTER TABLE MYTABLECHANGE id idBIGINT NOT NULL AUTO_INCREMENT;

这是表的 DDL:

CREATE TABLE `MYTABLE` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `siteId` int(11) NOT NULL,
  `filter` varchar(10) NOT NULL DEFAULT 'ALL',
  `date` varchar(10) NOT NULL,
  `cards` varchar(250) NOT NULL,
  `apples` varchar(45) NOT NULL,
  `carrots` varchar(45) NOT NULL,
  `corn` varchar(45) NOT NULL,
  `peas` varchar(45) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique` …
Run Code Online (Sandbox Code Playgroud)

mysql innodb

25
推荐指数
2
解决办法
4万
查看次数

标签 统计

innodb ×1

mysql ×1