Dúvida foreign key no mysql

1 resposta
W

Olá pessoal to fazendo uma aplicação e to com um problema na hora de chamar a chave estrangeira no mysql minha tabela está assim

Tabela cadastro.
create table cadastro (
  id_cadastro int(2) not null auto_increment,
  nome varchar(50) not null, 
  idade int (20),
  login varchar (30), 
  senha varchar (30),
  primary key (id),
  foreign key (id_login) references login
);

Tabela Login.
create table login (
  id_login int (2) not null auto_increment,
  login varchar(30) not null,
  senha varchar(30), 
  primary key (id_login)
);

Mas fica dando erro na hora que mando executar isso fala que ta dando erro de sintaxe mas tirei o “references” e ainda fala a mesma coisa alguem pode da uma ajuda ai.Muito Obrigado para quem responder.

1 Resposta

wbdsjunior

primeiro você deve criar a table login para depois criar a tabela cadastro.

a tabela cadastro também deve conter um campo de referencia à chave primaria da tabela login

create table login (
  id_login int (2) not null auto_increment,
  login varchar(30) not null,
  senha varchar(30), 
  primary key (id_login)
);

create table cadastro (
  id_cadastro int(2) not null auto_increment,
  id_login int (2), // aqui
  nome varchar(50) not null, 
  idade int (20),
  login varchar (30), 
  senha varchar (30),
  primary key (id),
  foreign key (id_login) references login (id_login) // e aqui
);

veja o artigo Normalização de dados e as formas normais.

Criado 30 de maio de 2011
Ultima resposta 31 de mai. de 2011
Respostas 1
Participantes 2