Vous pouvez simplement faire ce qui suit:
table MyISAM
CREATE TABLE big_table_new LIKE big_table;
ALTER TABLE big_table_new MODIFY COLUMN id INT(11);
ALTER TABLE big_table_new DISABLE KEYS;
INSERT INTO big_table_new SELECT * FROM big_table;
ALTER TABLE big_table_new ENABLE KEYS;
ALTER TABLE big_table RENAME big_table_bak;
ALTER TABLE big_table_new RENAME big_table;
table InnoDB
CREATE TABLE big_table_new LIKE big_table;
ALTER TABLE big_table_new MODIFY COLUMN id INT(11);
INSERT INTO big_table_new SELECT * FROM big_table;
ALTER TABLE big_table RENAME big_table_bak;
ALTER TABLE big_table_new RENAME big_table;
Lorsque vous avez terminé, big_table_bak
est votre sauvegarde.
Si vous êtes satisfait de la nouvelle big_table
vous pouvez exécuter
DROP TABLE big_table_bak;
Si vous souhaitez revenir en arrière, vous pouvez exécuter
DROP TABLE big_table;
ALTER TABLE big_table_bak RENAME big_table;
Lui donner un essai !!!
Avez-vous essayé de le faire dans phpMyAdmin? Cela pourrait utiliser une méthode plus efficace – Swadq
J'ai essayé avec PHPMyAdmin et commandline. – demircan
Vous pouvez faire un mySqldump et éditer le fichier de vidage. Puis réimporter les données. – ethrbunny