Mysql
 sql >> Database >  >> RDS >> Mysql

Cosa significa errore mysql 1025 (HY000):errore durante la ridenominazione di './foo' (errore:150)?

Di solito ricevi questo errore se le tue tabelle utilizzano il motore InnoDB. In tal caso dovresti eliminare la chiave esterna, quindi modificare la tabella e rilasciare la colonna.

Ma la parte difficile è che non puoi rilasciare la chiave esterna usando il nome della colonna, ma invece dovresti trovare il nome usato per indicizzarla. Per trovarlo, emetti quanto segue seleziona:

MOSTRA CREA TABELLA regione;

Questo dovrebbe mostrarti il ​​nome dell'indice, qualcosa del genere:

VINCOLO region_ibfk_1 FOREIGNKEY (country_id ) RIFERIMENTIcountry (id ) SU CANCELLA NO AZIONE SU AGGIORNAMENTO NESSUNA AZIONE

Ora emetti semplicemente un:

altera la regione della tabella rilascia la chiave esternaregion_ibfk_1;

E infine un:

altera la regione della tabella drop columncountry_id;

E sei a posto!