Problemas com Foreign key

1. Problemas com Foreign key

Ary Junior
juniorcronos

(usa Ubuntu)

Enviado em 16/07/2009 - 16:56h

Estou com problemas para setar os valores no banco com tabelas diferentes minhas tabelas são essas:

--Tabela endereco---

CREATE TABLE `pbturgeral`.`enderecos` (

`idenderecos` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

`idautoridades` INTEGER UNSIGNED NOT NULL,

`rua` VARCHAR(45) NOT NULL,

`complemento` VARCHAR(45) NOT NULL,

`cidade` VARCHAR(45) NOT NULL,

`bairro` VARCHAR(45) NOT NULL,

`cep` VARCHAR(45) NOT NULL,

`pais` VARCHAR(45) NOT NULL DEFAULT 'Brasil',

PRIMARY KEY (`idenderecos`),

FOREIGN KEY (`idautoridades`) REFERENCES autoridades(idautoridades),

)

--tabela Autoridades--



CREATE TABLE `pbturgeral`.`autoridades` (

`idautoridades` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

`nome` VARCHAR(45) NOT NULL,

`orgao` VARCHAR(45) NOT NULL,

`cargo` VARCHAR(45) NOT NULL,

`telefone` VARCHAR(45) NOT NULL,

`email` VARCHAR(45) NOT NULL,

`site` VARCHAR(45) NOT NULL,

PRIMARY KEY (`idautoridades`),

)

ENGINE = InnoDB

COMMENT = 'tabela Autoridades';

Onde estou errando?? preciso de ajuda

O erro é este...

Error: Cannot add or update a child row: a foreign key constraint fails (`pbturgeral/enderecos`, CONSTRAINT `enderecos_ibfk_1` FOREIGN KEY (`idautoridades`) REFERENCES `autoridades` (`idautoridades`))


  


2. Re: Problemas com Foreign key

Leandro Correa dos Santos
nukelinux

(usa Ubuntu)

Enviado em 17/07/2009 - 15:14h

regra: a chave primária deve ser definida antes da chave estrangeira.

A tabela endereços referencia a chave primária da tabela autoridades sem que ela exista de fato...

Se essa é a ordem em que o sql está sendo executado, a solução é simples:

Inverta a ordem de criação das tabelas, criando a tabela autoridades antes da tabela endereços

espero ter ajudado....






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts