Dúvida foreign key no mysql

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.

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

[code]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
);[/code]

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