Przy użyciu polecenia:Dlaczego MySQL używa tabeli tymczasowej do usunięcia klucza podstawowego?
ALTER TABLE my_table DROP PRIMARY KEY;
Stan (gdy SHOW PROCESSLIST) pojawia się jako:
copy to tmp table
Dlaczego to trzeba użyć tabeli tmp "rzucić" na klucz podstawowy?
"szczegóły implementacji" ;-) Podejrzewam, że zmiany w klastrze danych bazowych - np. przenosi się do "kupy" lub w inny sposób ponownie klastruje w tym konkretnym silniku? (InnoDB? MyISAM?) Ponieważ jest to operacja DDL - i nie jest popularna - "najprostsza metoda" jest często "najlepszym rozwiązaniem", zwłaszcza jeśli może ponownie wykorzystać dobrze przetestowane/zweryfikowane ścieżki kodu. –