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

Ajuda MYSQL


eduardoalg

Pergunta

Boa tarde , estou estudando Banco de Dados pelo livro Aprendendo SQL , e estou com com problemas onde no livro pede para criarmos uma banco de dados de exemplo, onde toda vez que digito conforme pede no livro o mesmo apresenta erro de sintaxe , gostaria de saber se alguém já estudou por este livro e se possivel podera me ajudar.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde .... , estou com um problema para criar uma tabela , mas quando vou criar e executar aparece esta mensagem erro 1005 , o fato que andei pesquisando , e encontrei alguns foruns dizendo que tenho que mudar o nome de alguma constraint na tabela , mas como sou iniciante não sei de fato o que colocar seguindo a sintaxe, nesta mudança. Segue abaixo o codigo.

CREATE TABLE favorite_food
(person_id SMALLINT UNSIGNED,
food VARCHAR(20),
CONSTRAINT pk_favorite_food PRIMARY KEY (person_id ,food),
CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id)
REFERENCES person (person_id)
);

Desde já agradeço.

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

  • 0

com relação ao erro

1005 (ER_CANT_CREATE_TABLE)

Não é possível criar tabela. Se a mensagem de erro se refere ao erro 150, a criação da tabela falhou porque um restrição de chaves estrangeiras não foi formada corretamente. Se a mensagem de erro se refere ao erro -1, a criação da tabela falhou porque, provavelmente, a tabela inclui um nome de coluna que combinava com o nome de uma tabela InnoDB interna.

procure sempre seguir a sintaxe correta conforme o manual do MYSQL

http://dev.mysql.com/doc/refman/4.1/pt/inn...onstraints.html

OBS: reveja a sua instrução CREATE TABLE

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

'eduardoalg',

Tente assim:

CREATE TABLE favorite_food (
   person_id SMALLINT UNSIGNED,
   food VARCHAR(20),
   PRIMARY KEY (person_id ,food),
   CONSTRAINT fk_fav_food_person_id FOREIGN KEY(person_id) REFERENCES person (person_id)
);

Nota: Para que a constraint funcione é necessário que o engine da tabela seja InnoDB, os atributos person_id, em ambas tabelas, sejam do mesmo tipo, sinalização, nulidade e tamanho

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite Denis Courcy e aos demais... , então rodei o codigo como mostrado mas está apresentando o mesmo erro ... estou sem saida , o fato é que estou estudando sozinho pelo livro Aprendendo SQL , e estou vendo que este livro está me levando para um raciocinio inferior , veja que estou no capitulo II , já estou com dificuldade , imagino quando estiver mais para frente. O que devo fazer para conseguir criar esta tabela ?

Grato!

Link para o comentário
Compartilhar em outros sites

  • 0
Boa noite Denis Courcy e aos demais... , então rodei o codigo como mostrado mas está apresentando o mesmo erro ... estou sem saida , o fato é que estou estudando sozinho pelo livro Aprendendo SQL , e estou vendo que este livro está me levando para um raciocinio inferior , veja que estou no capitulo II , já estou com dificuldade , imagino quando estiver mais para frente. O que devo fazer para conseguir criar esta tabela ?

Grato!

eduardoalg, quando tratamos com problemas deste tipo devemos dividí-lo para descobrir onde estamos errando.

Pensando assim, vamos criar a tabela sem a constraint e depois vamos aplicá-la. se o erro acontecer na criação da tabela é porque erramos na sintaxe.

Se o erro aparecer quando colocarmos a constraint algumas possibilidades poderão estar ocorrendo.

1- colocamos algo a mais em um indice primário que não está correspondendo a ligação que queremos para estabelecer a constraint.

2- alguma das tabelas deste relacionamento já possui registros que não estão correspondendo ao relacionamento para estabelecer a constraint.

3 - existem tipos de dados que não estaão correspondendo nas tabelas.

Vamos ao código:(Criando a tabela)

CREATE TABLE favorite_food (
   person_id SMALLINT UNSIGNED,
   food VARCHAR(20),
   PRIMARY KEY (person_id, food),
);
(Aplicando a constraint)
ALTER TABLE favorite_food 
ADD  CONSTRAINT fk_fav_food_person_id FOREIGN KEY(person_id) REFERENCES person (person_id);

Informe onde e que erro está acontecendo.

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Denys , o erro ainda continua agora com o numero 1064 , alegando que o erro esta na linha 5 na criação da tabela, o interessante disso td é que estou seguindo td que está no livro passo a passo. O que acontece no livro, pede para criarmos uma banco de dados exemplo chamado bank, depois criarmos uma tabela chamada person , abaixo colocarei td que esta no livro , para que possamos entendermos melhor...

CREATE TABLE person
(person_id SMALLINT UNSIGNED,
fname VARCHAR(20),
lname VARCHAR(20),
gender CHAR(1),
birth_date DATE,
street VARCHAR(30),
city VARCHAR(20),
state VARCHAR(20),
country VARCHAR(20),
postal_code VARCHAR(20),
CONSTRAINT pk_person PRIMARY KEY (person_id)
);
Depois a proxima tabela será o favorite_food segue abaixo de acordo como esta no livro (sintaxe)
CREATE TABLE favorite_food
(person_id SMALLINT UNSIGNED,
food VARCHAR(20),
CONSTRAINT pk_favorite_food PRIMARY KEY (person_id ,food),
CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id)
REFERENCES person (person_id)
);

Obs: Antes de tudo isso no livro pede para realizarmos o download do script SQL , e depois executar no prompt de comando mysql segue o link do script http://examples.oreilly.com/learningsql/ Realizei todo este processo mais agora está ocorrendo estes erros , peço a ajuda de voçês estou muito interessado para aprender esta linguagem.

Grato!

Editado por eduardoalg
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,2k
    • Posts
      652k
×
×
  • Criar Novo...