Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Código de erro:1822. Falha ao adicionar a restrição de chave estrangeira. Índice ausente para restrição


create_user INT UNSIGNED ZEROFILL não pode referenciar id INT , porque eles contam como tipos de dados diferentes para fins de referência de chave estrangeira. Torne-os do mesmo tipo de dados.

A única diferença de tipo de dados que é permitida entre colunas em um relacionamento de chave estrangeira é o comprimento de um varchar. Por exemplo, VARCHAR(10) pode referenciar VARCHAR(20) ou vice-versa.

Qualquer outra diferença no tipo de dados, tamanho ou conjunto de caracteres é incompatível para integridade referencial.

Mesmo tendo ZEROFILL em uma coluna, mas não na outra, torna os tipos de dados incompatíveis.