Ir para conteúdo
Fórum Script Brasil
  • 0

Chave Estrangeira - erro no banco de dados


Kleyton Renato

Pergunta

Primeiro, a estrutura:

 

//criando a tabela de usuários


CREATE TABLE user (
 user_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 user_nome VARCHAR(100) NOT NULL UNIQUE,
 user_email VARCHAR(100) NOT NULL,
 user_senha VARCHAR(32) NOT NULL,
 user_estado INT(1) NOT NULL
);


//criando a tabela de anotações


CREATE TABLE notas (
 notas_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 notas_empresa VARCHAR(100) NOT NULL,
 notas_contato VARCHAR(100) NOT NULL,
 notas_endereco VARCHAR(100) NOT NULL,
 notas_telefone VARCHAR(45) NOT NULL,
 notas_celular VARCHAR(45) NOT NULL,
 notas_email VARCHAR(45) NOT NULL,
 notas_site VARCHAR(45) NOT NULL,
 notas_nota VARCHAR(250) NOT NULL,
 user_id INT(11) NOT NULL,
 CONSTRAINT user_user_id_fk
 FOREIGN KEY (user_id) 
 REFERENCES user (user_id)
); 

 

O sistema: É algo básico. Usando  e MySQL, fiz um sisteminha de login com cadastro. 

O usuário se cadastra, depois se loga e insere informações na tabela notas. A parte de edição, farei depois. 

A bronca é sempre ao inserir os dados na tabela notas:

Cannot add or update a child row: a foreign key constraint fails (`sistema`.`notas`, CONSTRAINT `user_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`))

Alguém tem alguma dica para resolver esse problema?

Agradeço desde já qualquer ajuda ...

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Desculpe a distração.

Faça assim que derá certo:

CREATE TABLE user (
 user_id INT(11) NOT NULL AUTO_INCREMENT, 
 user_nome VARCHAR(100) NOT NULL UNIQUE,
 user_email VARCHAR(100) NOT NULL,
 user_senha VARCHAR(32) NOT NULL,
 user_estado INT(1) NOT NULL,
primary key(user_id)
)Engine InnoDB;


-- criando a tabela de anotações


CREATE TABLE notas (
 notas_id INT(11) NOT NULL AUTO_INCREMENT,
 notas_empresa VARCHAR(100) NOT NULL,
 notas_contato VARCHAR(100) NOT NULL,
 notas_endereco VARCHAR(100) NOT NULL,
 notas_telefone VARCHAR(45) NOT NULL,
 notas_celular VARCHAR(45) NOT NULL,
 notas_email VARCHAR(45) NOT NULL,
 notas_site VARCHAR(45) NOT NULL,
 notas_nota VARCHAR(250) NOT NULL,
 user_id INT(11) NOT NULL,
 primary key (notas_id),
 CONSTRAINT user_user_id_fk
 FOREIGN KEY (user_id) 
 REFERENCES user (user_id)
)Engine InnoDB; 

 

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe a distração.

Faça assim que derá certo:

CREATE TABLE user (
 user_id INT(11) NOT NULL AUTO_INCREMENT, 
 user_nome VARCHAR(100) NOT NULL UNIQUE,
 user_email VARCHAR(100) NOT NULL,
 user_senha VARCHAR(32) NOT NULL,
 user_estado INT(1) NOT NULL,
primary key(user_id)
)Engine InnoDB;


-- criando a tabela de anotações


CREATE TABLE notas (
 notas_id INT(11) NOT NULL AUTO_INCREMENT,
 notas_empresa VARCHAR(100) NOT NULL,
 notas_contato VARCHAR(100) NOT NULL,
 notas_endereco VARCHAR(100) NOT NULL,
 notas_telefone VARCHAR(45) NOT NULL,
 notas_celular VARCHAR(45) NOT NULL,
 notas_email VARCHAR(45) NOT NULL,
 notas_site VARCHAR(45) NOT NULL,
 notas_nota VARCHAR(250) NOT NULL,
 user_id INT(11) NOT NULL,
 primary key (notas_id),
 CONSTRAINT user_user_id_fk
 FOREIGN KEY (user_id) 
 REFERENCES user (user_id)
)Engine InnoDB; 

 

Fiz como me recomendou. Mas, o problema persiste. 

Obrigado pela ajuda ...

Desculpe a distração.

Faça assim que derá certo:

CREATE TABLE user (
 user_id INT(11) NOT NULL AUTO_INCREMENT, 
 user_nome VARCHAR(100) NOT NULL UNIQUE,
 user_email VARCHAR(100) NOT NULL,
 user_senha VARCHAR(32) NOT NULL,
 user_estado INT(1) NOT NULL,
primary key(user_id)
)Engine InnoDB;


-- criando a tabela de anotações


CREATE TABLE notas (
 notas_id INT(11) NOT NULL AUTO_INCREMENT,
 notas_empresa VARCHAR(100) NOT NULL,
 notas_contato VARCHAR(100) NOT NULL,
 notas_endereco VARCHAR(100) NOT NULL,
 notas_telefone VARCHAR(45) NOT NULL,
 notas_celular VARCHAR(45) NOT NULL,
 notas_email VARCHAR(45) NOT NULL,
 notas_site VARCHAR(45) NOT NULL,
 notas_nota VARCHAR(250) NOT NULL,
 user_id INT(11) NOT NULL,
 primary key (notas_id),
 CONSTRAINT user_user_id_fk
 FOREIGN KEY (user_id) 
 REFERENCES user (user_id)
)Engine InnoDB; 

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...