Zwykle pojawia się ten błąd, jeśli Twoje tabele używają silnika InnoDB. W takim przypadku musiałbyś usunąć klucz obcy, a następnie wykonać tabelę alter i upuścić kolumnę.
Ale trudną częścią jest to, że nie możesz usunąć klucza obcego za pomocą nazwy kolumny, ale zamiast tego musiałbyś znaleźć nazwę używaną do jej indeksowania. Aby to znaleźć, wydaj następujące wybierz:
POKAŻ region CREATE TABLE;
Powinno to pokazać nazwę indeksu, mniej więcej tak:
OGRANICZENIE region_ibfk_1
FOREIGNKEY (country_id
) REFERENCEScountry
(id
) PRZY USUWANIU NOAKCJI PRZY AKTUALIZACJI ŻADNEJ AKCJI
Teraz po prostu wydaj:
Zmień region tabeli, upuść klucz obcyregion_ibfk_1
;
I wreszcie:
zmiana regionu tabeli upuść columncountry_id;
I jesteś gotowy!