Tôi cần thay đổi kiểu dữ liệu từ INT thành BIGINT trong bảng MySQL 600GB. Cột có một chỉ mục duy nhất. Tôi có thể tốt với INT không dấu, nhưng tôi cho rằng việc thay đổi điều đó hoặc BIGINT sẽ khá đau đớn. Công cụ của bảng là InnoDB. Điều gì sẽ dễ dàng hơn:
- BẢNG BẢNG
- Sao chép cấu trúc và
INSERT INTO (SELECT *)
- Bảng đổ và thay đổi định nghĩa bảng tệp kết xuất
- Còn gì nữa không?
CẬP NHẬT: Theo yêu cầu, MySQL ver 5.5.15, không có khóa ngoại và tạo bảng:
CREATE TABLE `tbl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`tid` bigint(20) NOT NULL,
`t` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`f` tinyint(1) NOT NULL,
`i_id` bigint(20) NOT NULL,
`ir_id` int(11) NOT NULL,
`r_c` int(11) NOT NULL,
`r` tinyint(1) NOT NULL,
`e` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`t` varchar(5) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user` (`user_id`,`tid`)
) ENGINE=InnoDB AUTO_INCREMENT=1657146169 DEFAULT CHARSET=utf8
ALTER TABLE ONLINE
. Bạn có khóa ngoại tham chiếu cột này không? Nó sẽ giúp nếu bạn hiển thị SHOW CREATE TABLE tablename;
đầu ra.