Publicação

Foreing key em campo CHAR no mysql. É possível?

foto de
Fidelis

Não estou conseguindo criar uma foreign key entre duas tabelas, cujo tipo é CHAR:

ALTER TABLE hardware ADD CONSTRAINT fk_INC_LOCALIDADE FOREIGN KEY ( INC_LOCALIDADE ) REFERENCES localidade (INC);


O erro é:

ALTER TABLE hardware ADD CONSTRAINT fk_INC_LOCALIDADE FOREIGN KEY ( INC_LOCALIDADE ) REFERENCES localidade (INC); failed : Cannot add or update a child row: a foreign key constraint fails

Dei um show full columns e o resultado é esse:

TABELA localidade:

Field    Type       Collation          Null     Key     Default     Privileges 
INC      char(11)   utf8_general_ci    NO       PRI     A           select,insert,update,references

TABELA hardware:

Field            Type       Collation          Null     Key     Default     Privileges
INC_LOCALIDADE   char(11)   utf8_general_ci     NO               A          select,insert,update,references

Os campos têm que ser em CHAR, pois os dados virão em caracteres "alfanuméricos"!

Comentários