Muszę zmienić typ danych z INT na BIGINT w tabeli MySQL o pojemności 600 GB. Kolumna ma unikalny indeks. Mogę być dobry z niepodpisaną INT, ale zakładam, że przejście na to lub BIGINT będzie prawie takim samym bólem. Silnik stołu to InnoDB. Co byłoby łatwiejsze:
- ZMIEŃ TABELĘ
- Kopiowanie struktury i
INSERT INTO (SELECT *)
- Tabela zrzutu i zmiana definicji tabeli pliku zrzutu
- Coś jeszcze?
AKTUALIZACJA: Zgodnie z żądaniem, MySQL wersja 5.5.15, brak kluczy obcych i tworzenie tabeli:
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
. Czy masz klucze obce odnoszące się do tej kolumny? Pomogłoby to, gdybyś pokazał SHOW CREATE TABLE tablename;
wynik.