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

(Resolvido) Chave composta


wilhaods

Pergunta

Salve galera. Sou aluno do curso de sistemas de informação e estou iniciando no forum, para falar a verdade é o primeiro forum que estou começando a participar ativamente, tinha a velha mania de apenas ler as respostas dos outros, mas agora quero ir além quero tambem poder ajudar outras pessoas....

Estou entrando agora na disciplina de Banco de Dados 2, o professor passou uma notação de banco para que fizessemos o banco..

Estou mandando o código abaixo, para que possam dar uma analisada...

/*******************************/

create database bancotestes;

use bancoteste;

create table atividade(

codigo integer(5) not null,

nome varchar(40) not null,

primary key (codigo));

create table aluno(

matricula integer(5) not null,

nome varchar(40) not null,

endereco varchar(30) not null,

email varchar(20) not null,

datanasc timestamp not null,

idade integer(3) not null,

selecionado integer(5) not null,

foreign key (selecionado) references atividade(codigo));

create table inscreve(

alunos integer(5) not null,

atividades integer(5) not null,

prioridade integer(2) not null,

datainsc time not null,

foreign key (alunos) references aluno(matricula),

foreign key (atividades) references atividade(codigo));

/*******************************/

Porém quando rodo isso no PHPmyadmim gera o seguinte erro...

/*******************************/

Erro

consulta SQL:

CREATE TABLE inscreve(

alunos integer( 5 ) NOT NULL ,

atividades integer( 5 ) NOT NULL ,

prioridade integer( 2 ) NOT NULL ,

datainsc time NOT NULL ,

FOREIGN KEY ( alunos ) REFERENCES aluno( matricula ) ,

FOREIGN KEY ( atividades ) REFERENCES atividade( codigo )

);

Mensagens do MySQL : Documentação

#1005 - Can't create table 'asd.inscreve' (errno: 150)

/*******************************/

Espero que possam me ajudar...

t+++...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'wilhaods'

Na tabela aluno (veja abaixo)

create table aluno(
    matricula integer(5) not null,
    nome varchar(40) not null,
    endereco varchar(30) not null,
    email varchar(20) not null,
    datanasc timestamp not null,
    idade integer(3) not null,
    selecionado integer(5) not null,
    foreign key (selecionado) references atividade(codigo));

Você não definiu o atributo matricula como primary key. Por isso a tabela inscreve não consegue ser gerada. ela precisa da chave para criar a foreign key que refrencia alunos a matricula.
Link para o comentário
Compartilhar em outros sites

  • 0

Denis Courcy...

Auxiliou, d+....

O bom é que como estou iniciando quero prestar mais atenção em Detalhes....

Mas que infelizmente na hora não consegui ver....

Problema solucionado...

Valeu mesmo.....

T+...

Valeu

:rolleyes:

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

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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