ตาราง INNODB บางส่วนในฐานข้อมูลการผลิตของเรากำลังจะถึงขีด จำกัด INT AUTO_INCREMENT ที่ 2147483647 และเราจำเป็นต้องเปลี่ยนเป็น BIGINT มิฉะนั้นการเขียนจะเริ่มล้มเหลว
ตารางอยู่ในฐานข้อมูล MySQL 5.6.19a ที่ใช้งานจริงบน Amazon RDS
เราจะแก้ไขเช่นนี้ได้อย่างไรโดยไม่กระทบกับการอ่านและการแทรกที่เกิดขึ้นตลอดเวลา?
เปลี่ยนตารางMYTABLE
เปลี่ยนid
id
BIGINT ไม่ใช่ 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` (`siteId`,`filter`,`date`,`cards`),
KEY `date_k` (`date`),
KEY `cards_k` (`cards`),
KEY `apples_k` (`apples`),
KEY `siteId_k` (`siteId`)
) ENGINE=InnoDB AUTO_INCREMENT=1748961482 DEFAULT CHARSET=utf8