sql >> Databasteknik >  >> RDS >> Mysql

Vad betyder mysql-fel 1025 (HY000):Fel vid byte av namn på './foo' (fel nr:150)?

Du får vanligtvis det här felet om dina tabeller använder InnoDB-motorn. I så fall måste du släppa den främmande nyckeln och sedan göra ändringstabellen och släppa kolumnen.

Men den knepiga delen är att du inte kan släppa den främmande nyckeln med kolumnnamnet, utan istället måste du hitta namnet som används för att indexera den. För att hitta det, utfärda följande välj:

VISA SKAPA TABELL region;

Detta bör visa dig namnet på indexet, ungefär så här:

CONSTRAINT region_ibfk_1 FOREIGNKEY (country_id ) REFERENSERcountry (id ) PÅ DELETE NOACTION ON UPDATE INGEN ÅTGÄRD

Ge nu bara ett:

ändra tabell region släpp främmande nyckelregion_ibfk_1;

Och till sist ett:

ändra tabellregion släpp kolumncountry_id;

Och du är bra att gå!



  1. Oracle - Klontabell - Struktur, databegränsningar och allt

  2. Hur man skapar en tabell endast om den inte finns i PostgreSQL

  3. Performance Myths:Truncate Cant Be Rolled Back

  4. Vilka är de 6 huvudkomponenterna i Microsoft Access?