Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

NaDa

Relacionar tabelas

Mensagens Recomendadas

NaDa

Boas,

Estive a procura ja aqui no forum sobre o assunto mas nao vi muita coisa sobre o mesmo, apesar de ter visto uma duvida que explica um pouco la sobre o assunto, mas como eu quero saber o que errei e uma explicação mais detalhada sobre o assunto, decidi criar o topido :)

Tenho 2 tabelas, e basicamente o quer quero, na teoria é fácil, ja na pratica, 2  tabelas, e queria que o id_user de uma tabela tive-se o mesmo numero, que o id_user da outra tabela :S

Eu fiz isto no sql workbench:

CREATE  TABLE `informacao` (
  `id_user` INT NOT NULL ,
  `salario_user` FLOAT NOT NULL DEFAULT 250 ,
  `profissao_user` VARCHAR(45) NULL ,
  `morada_user` VARCHAR(45) NULL ,
  PRIMARY KEY (`id_user`) )
ENGINE = InnoDB
COMMENT = 'informaçao dos users';

CREATE  TABLE `registos` (
  `id_user` INT NOT NULL AUTO_INCREMENT ,
  `nome_user` MEDIUMTEXT NOT NULL ,
  `nick_user` VARCHAR(30) NOT NULL ,
  `email_user` VARCHAR(50) NOT NULL ,
  `senha_user` VARCHAR(32) NOT NULL ,
  `sexo_user` VARCHAR(8) NULL ,
  `pais_user` VARCHAR(45) NOT NULL ,
  `avatar_user` MEDIUMTEXT NULL ,
  `mod_user` VARCHAR(20) NOT NULL DEFAULT 'user' ,
  `data_user` DATETIME NOT NULL ,
  `informacao_id_user` INT NOT NULL ,
  PRIMARY KEY (`id_user`, `informacao_id_user`) ,
  INDEX `fk_registos_informacao` (`informacao_id_user` ASC) ,
  CONSTRAINT `fk_registos_informacao`
    FOREIGN KEY (`informacao_id_user` )
    REFERENCES `jogo`.`informacao` (`id_user` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
COMMENT = 'registo de todos os users';

Depois da erro ao inserir dados:

Cannot add or update a child row: a foreign key constraint fails (`jogo`.`registos`, CONSTRAINT `fk_registos_informacao` FOREIGN KEY (`informacao_id_user`) REFERENCES `informacao` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE)

O codigo que usei para inseria acho que ta bem :)

"INSERT INTO registos (nome_user,nick_user,email_user,senha_user,sexo_user,pais_user) 
                                                    VALUES
                                        ('$nome','$nick','$email','$senha','$sexo','$pais')"

Se alguém me quiser dar uma aulinha de FK agradecia :)

Desde ja muito obrigado :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.