Jump to content
Fórum Script Brasil
  • 0

Ajuda MYSQL


eduardoalg

Question

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 to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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.

Edited by eduardoalg
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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!

Edited by eduardoalg
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...