106 votes

Code D'Erreur: 1005. Ne peut pas créer la table '...' (errno: 150)

J'ai cherché une solution à ce problème sur internet et de vérifier l'TELLEMENT de questions, mais aucune solution n'a fonctionné pour mon cas.

Je veux créer une clé étrangère de la table sira_no à metal_kod.

ALTER TABLE sira_no 
    ADD CONSTRAINT METAL_KODU FOREIGN KEY(METAL_KODU) 
    REFERENCES metal_kod(METAL_KODU) 
    ON DELETE SET NULL 
    ON UPDATE SET NULL ;

Ce script renvoie:

Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150) 

J'ai essayé d'ajouter de l'index de la table référencée:

CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU);

J'ai vérifié METAL_KODU sur les deux tableaux (jeu de caractères et collation). Mais je ne pouvais pas trouver une solution à ce problème. Quelqu'un aurait-il une idée? Merci à l'avance.

EDIT: Voici le metal_kod table:

METAL_KODU  varchar(4)  NO  PRI     
DURUM   bit(1)  NO          
METAL_ISMI  varchar(30) NO          
AYAR_YOGUNLUK   smallint(6) YES     100 

4voto

zahid9i Points 124

Très souvent il arrive, lors de la clé étrangère et la clé de référence n'ont pas le même type ou de la même longueur

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X