Problema ao Criar Chave Estrangeira
Pessoal, tenho duas tabelas (InnoDB) no MySQL as quais opero via PHPMyAdmin, o qual não está me deixando criar uma chave estrangeira entre elas. Já conferi tudo e não cria. Será que alguém pode me ajudar?
Os dois campos nessas duas tabelas estão como tinyint(3) unsigned not null e na tabela filha há índice no campo correspondente. Ou seja, me parece tudo normal! É um relacionamento 1 para muitos.
Grata!!
Natascha
Os dois campos nessas duas tabelas estão como tinyint(3) unsigned not null e na tabela filha há índice no campo correspondente. Ou seja, me parece tudo normal! É um relacionamento 1 para muitos.
Grata!!
Natascha
Natascha Sh
Curtidas 0
Respostas
Tiago Bocato
18/10/2011
Natascha,
Existem dados nas tabelas?
Qual o erro que retorna?
att. Tiago Bocato
Existem dados nas tabelas?
Qual o erro que retorna?
att. Tiago Bocato
GOSTEI 0
Natascha Sh
18/10/2011
Sim, há campos na tabela, porém já verifiquei que não há filhos sem código correspondente da tabela pai.
Mensagem exibida: Erro na criação da chave estrangeira (cheque o tipo de dado) : CodProtecao
CodProtecao é chave primaria na tabela pai e há um índice nesse campo na tabela filha.
Conforme comentei, as duas são tinyint(3) unsigned not null.
Grata.
Natascha
Mensagem exibida: Erro na criação da chave estrangeira (cheque o tipo de dado) : CodProtecao
CodProtecao é chave primaria na tabela pai e há um índice nesse campo na tabela filha.
Conforme comentei, as duas são tinyint(3) unsigned not null.
Grata.
Natascha
GOSTEI 0
Luciano Martins
18/10/2011
pelo jeito vc criou as chaves de tipos diferentes em cada tabela...tipow na tabela pai: CodProtecao é int no filha: CodProtecao é big veja ai e se for o caso post as classes aki...
GOSTEI 0
Natascha Sh
18/10/2011
Situação:
TABELA DADOS
idopdados smallint(3) UNSIGNED NOT NULL auto_increment
idgrupo tinyint(3) UNSIGNED NOT NULL
TABELA PASSOS
idoppassos smallint(5) UNSIGNED NOT NULL auto_increment
idopdados smallint(3) UNSIGNED NOT NULL
descricaopasso text NOT NULL
Há index em idopdados.
Quero criar chave estrangeira entre as tabelas com o campo idoppassos.
O retorno do MySql é: Erro na criação da chave estrangeira (cheque o tipo de dado) : idopdados
???
Natascha
TABELA DADOS
idopdados smallint(3) UNSIGNED NOT NULL auto_increment
idgrupo tinyint(3) UNSIGNED NOT NULL
TABELA PASSOS
idoppassos smallint(5) UNSIGNED NOT NULL auto_increment
idopdados smallint(3) UNSIGNED NOT NULL
descricaopasso text NOT NULL
Há index em idopdados.
Quero criar chave estrangeira entre as tabelas com o campo idoppassos.
O retorno do MySql é: Erro na criação da chave estrangeira (cheque o tipo de dado) : idopdados
???
Natascha
GOSTEI 0
Natascha Sh
18/10/2011
É coisa do assistente PHPMyAdmin, com comando SQL direto funcionou.
Natascha
Natascha
GOSTEI 0