Oii, Yan! Tudo bem?
Yan, esse erro "relation 'aluno' already exists"
indica que já existe uma tabela com esse nome em seu banco de dados.
Para esse cenário apresentado uma possível solução é:
- Verificar se a tabela "aluno" existe, para isso segue o comando que você pode executar em seu banco de dados:
SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'aluno');
Se o resultado for TRUE
, significa que a tabela existe e você pode optar por renomeá-la ou excluí-la antes de recriá-la.
- Caso você escolha recriá-la e substituir a versão existente, pode-se usar o comando
DROP TABLE
antes de executar o comando CREAT TABLE
:
Segue o exemplo do código:
DROP TABLE IF EXISTS aluno;
CREATE TABLE aluno(
id SERIAL,
nome VARCHAR(255),
cpf CHAR(11),
observacao TEXT,
idade INTEGER,
dinheiro NUMERIC(10,2),
altura REAL,
ativo BOOLEAN,
data_nascimento DATE,
hora_aula TIME,
matriculado_em TIMESTAMP
);
SELECT * FROM aluno;
Basicamente, no código acima, o comando DROP TABLE
exclui a tabela se ela existir e logo depois o comando CREAT TABLE
cria uma nova tabela bem estruturada.
Espero ter ajudado. Conte com a Alura para evoluir nos estudos!
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!