2010-09-27 5 views
0

Je suis en train d'ajouter une relation de soi dans une table InnoDB existante ici est une structure de tablerelation auto MySQL

 
Table person 

    person_id int (10) primary key not null auto increment, 

    parent_id int (10) NULL default null, 

    name varchar(30) 

Lorsque j'utilise cette commande

ALTER TABLE `person` ADD FOREIGN KEY (`parent_id`) REFERENCES `person` (`person_id`) ON DELETE RESTRICT ON UPDATE RESTRICT ; 

Je reçois l'erreur incompatibilité de type de données . Je pense que cela pourrait être dû à des valeurs nulles dans parent_id. Est-il possible d'ignorer cette vérification?

Merci

Répondre

2

person_id et PARENT_ID doivent être du même type de données exactes. Par exemple, si person_id est INT UNSIGNED et que parent_id est INT, vous ne pouvez pas créer la clé étrangère.

Exécutez cette commande et comparer les types de données des deux colonnes:

SHOW CREATE TABLE `person`\G 
+0

Il y avait non signé différent dans les deux :) – Maximus

Questions connexes