Tato chyba se obvykle zobrazí, pokud vaše tabulky používají engine InnoDB. V takovém případě byste museli vypustit cizí klíč a poté provést změnu tabulky a vypustit sloupec.
Záludná část je však v tom, že cizí klíč nemůžete zahodit pomocí názvu sloupce, ale místo toho byste museli najít název použitý k jeho indexování. Chcete-li to zjistit, zadejte následující výběr:
SHOW CREATE TABLE region;
To by vám mělo ukázat název indexu, něco takového:
OMEZENÍ
region_ibfk_1
FOREIGNKEY (country_id
) REFERENCEcountry
(id
) PŘI DELETE NOACTION ON UPDATE NO ACTION
Nyní jednoduše zadejte:
alter table region drop cizí klíč
region_ibfk_1
;
A nakonec:
alter table region drop columncountry_id;
A můžete jít!