Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Preenchendo o banco de dados.

Olá, tive alguns problemas na criação das tabelas e, consequentemente, na hora de preencher o banco de dados. Criei uma tabela aluno:

CREATE TABLE aluno(
    id SERIAL PRIMARY KEY,
    primeiro_nome VARCHAR(255) NOT NULL,
    ultimo_nome VARCHAR(255) NOT NULL,
    data_nascimento DATE NOT NULL
);

Depois criei a tabela categoria:

CREATE TABLE categoria(
    id SERIAL PRIMARY KEY,
    nome VARCHAR(255) NOT NULL UNIQUE
);

Porém, quando fui criar a tabela Curso:

CREATE TABLE curso(
    id SERIAL PRIMARY KEY,
    nome VARCHAR(255) NOT NULL
    categoria_id INTEGER NOT NULL REFERENCES categoria(id)
);

Eu tive como retorno a seguinte mensagem:

ERROR:  syntax error at or near "categoria_id"
LINE 4:  categoria_id INTEGER NOT NULL REFERENCES categoria(id)
         ^
SQL state: 42601
Character: 74

O que estou fazendo errado? Tomei cuidado inclusive de usar "drop table (nome da tabela) cascate", para garantir que nenhuma das tabelas já estavam salvas e dar algum problema.

Agradeço desde já a atenção!

2 respostas
solução!

Olá Caio, tudo bem?

Você acabou esquecendo de informar a vírgula para separar a criação do campo nome e do campo categoria_id ao criar a tabela de cursos:

Executa novamente a sua query informando a vírgula, e depois fala pra gente se deu certo e se funcionou tudo certinho?!

CREATE TABLE curso(
    id SERIAL PRIMARY KEY,
    nome VARCHAR(255) NOT NULL,
    categoria_id INTEGER NOT NULL REFERENCES categoria(id)
);

Aguardo o seu retorno Caio!

Caramba, que vacilo bobo esse meu! Muito obrigado!!