Ir ao conteúdo
  • Cadastre-se
Mateus Henrique

Ajuda com sintaxe de tabela (MySQL WorkBench)

Recommended Posts

Estou tentando criar a seguinte tabela, mas aparece um erro que não consigo consertar. Simplesmente não consigo identificar o porque, sendo que tenho as chaves primarias definidas...

create table matricula(idmatricula int not null auto_increment,aluno_id int not null,curso_id int not null,periodo_id int,primary key(aluno_id, curso_id, idmatricula),foreign key(aluno_id) references aluno(idaluno),foreign key(curso_id) references curso(idcurso),foreign key(periodo_id) references periodo(idperiodo));

O erro é:
Error Code: 1075. Incorrect table definition; there can be only one auto column and it must be defined as a key.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta tentando transformar idmatricula, aluno_id e curso_id em chave primária E chave estrangeira?
Um campo de uma tabela não pode ser duas coisas ao mesmo tempo (Chave primária e estrangeira).

create table matricula(idmatricula int not null auto_increment,aluno_id int not null,curso_id int not null,periodo_id int,constraint pk_idmatricula primary key (idmatricula),constraint fk_aluno_id foreign key (aluno_id) references aluno(idaluno),constraint fk_curso_id foreign key(curso_id) references curso(idcurso),constraint fk_periodo_id foreign key(periodo_id) references periodo(idperiodo));

Perceba que primary key e foreign key são constraint então você precisa seguir "o ritual" de delará-la, dar um nome para ela e dizer o que ela é (exemplo: constraint pk_idmatricula primary key)

Veja se dá certo, não vou nem dizer que aluno_id, curso_id e periodo_id já precisam existir senão dará erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×