Problemi InnoDB su MySQL

Recentemente ho cancellato un database con tabelle InnoDB e varie foreign key, e mi sono ritrovato con l’impossibilità di ricreare il medesimo database perché InnoDB si lamentava di foreign key con nomi duplicati, ma in realtà il duplicato era la chiave stessa sul vecchio database. Praticamente il database era stato rimosso da MySQL, ma nel dizionario dei dati di InnoDB era rimasta traccia delle chiavi esterne.
Per risolvere la situazione bisogna “fregare” InnoDB creando la tabella incriminata senza nessuna foreign key e engine=innodb, e poi rimuoverla e tutto tornerà normale.

in English:If removing an InnoDB table and trying to re-create it you get a duplicate foreign key name error and there is no real duplicate you fell in my same problem. I dropped a database with an InnoDB table with foreign keys, and when I tried to reload the db dump I got errors saying I had a duplicate foreign key, but the duplicate really was the same table: MySQL removed the database correctly from its data dictionary, while InnoDB left traces of the foreign key constraints.
To solve the problem you have to “cheat” InnoDB, so issue the create table command with no foreign key constraint, then drop the table and you’re set.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: