Erreur 1005: Can’t create table

logo_mysql_sun_aIl y a quelques jours, j’ai eu une erreur MySQL Lors de l’import d’une base de données MySQL utilisant l’engin InnoDB.

ERROR 1005 (HY000): Can't create table 'Table.frm' (errno: 150)

En effet, Cette erreur provient d’une mauvaise déclaration d’une clé étrangère. Par exemple, vous pouvez déclarer une clé comme int unsigned auto_increment, et puis vous la référeriez avec un champs int (qui n’est pas unsigned).
Pour voir exactement ce qui a causé l’erreur utilisez cette commande :

mysql>SHOW ENGINE INNODB STATUS;

Cette commande vous donnera en fait la derniere erreur conernant les cles etrangeres InnoDB.
Si vous etes en train d’importer depuis un dump. vous pouvez desactiver les tests sur les cles etrangeres en mettant ceci en debut de votre script :

SET FOREIGN_KEY_CHECKS = 0;

et ceci en fin de votre script

SET FOREIGN_KEY_CHECKS = 1; -- BOTTOM

Anis Berejeb

Anis est avant tout un passioné de l'agilité et du développement. Avec plus de 15 ans dans le domaine du développement web, son expertise combine des connaissances accrues dans l'ensemble des notions partant du développement logiciel jusqu'à l'organisation des équipes dans les environnements agiles à grande échelle.

You may also like...