Mysql
 sql >> Base de données >  >> RDS >> Mysql

Code d'erreur :1822. Échec de l'ajout de la contrainte de clé étrangère. Index manquant pour la contrainte

create_user INT UNSIGNED ZEROFILL ne peut pas référencer id INT , car ceux-ci comptent comme des types de données différents à des fins de référence de clé étrangère. Faites-leur le même type de données.

La seule différence de type de données autorisée entre les colonnes d'une relation de clé étrangère est la longueur d'un varchar. Par exemple, VARCHAR(10) peut référencer VARCHAR(20) ou vice-versa.

Toute autre différence de type de données, de taille ou de jeu de caractères est incompatible pour l'intégrité référentielle.

Même avec ZEROFILL sur une colonne mais pas sur l'autre rend les types de données incompatibles.