3
respostas

Atualizando registro na tabela

Estou na aula de upadate mas está aparecendo mensagem de erro e não consegui descobrir o onde está o erro. A outra vez foi porque não estava selecionando por bloco e não aparecia os dados da tabela, mas o erro foi na mesmo campo observacao.

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,
    matricula_em timestamp
);

select * from aluno;

insert into aluno(
    nome,
    cpf,
    observacao,
    idade,
    dinheiro,
    altura,
    ativo,
    data_nascimento,
    hora_aula,
    matricula_em
)

values(
    'Diogo',
    '12345678901',
    'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec nisl accumsan, elementum lorem quis',
    35,
    100.50,
    1.81,
    TRUE,
    '1984-08-27',
    '17:30:00',
    '2020-02-08 12:32:45'
)

select * 
    from aluno
    where id = 1;

update aluno 
    set nome = 'Nico',
    cpf = '10987654321',
    observacao = 'Teste',
    idade = 38,
    dinheiro = 15.23,
    altura = 1.90,
    ativo = FALSE,
    data_nascimento = '1980-01-15',
    hora_aula = '13:00:00',
    matricula_em = '2020-01-02 15:00:00'
where id = 1;

ERROR:  column "observacao" of relation "aluno" does not exist
LINE 4:  observacao = 'Teste',
         ^
SQL state: 42703
Character: 58
3 respostas

Olá Josimar, tudo bem?

Executei os comandos e a atualização ocorreu sem problemas. Então, você poderia informar como está executando os comandos? Você está selecionando todos e executando ao mesmo tempo? Ou está executando um por um?

Aguardo o seu retorno!

Já fiz de todas as maneiras e nada, no final aparece mensagem de erro. Não entendo você diz que conseguiu executar. Mas, já que não há erro de digitação e eu já fiz selecionando tudo. Fiz por bloco e nada, quando eu faço continua dando uma mensagem de erro.

Isso é muito estranho Josimar, consegui executar as queries de todas as formas que você mencionou sem problemas. Então você poderia abrir uma nova query tool e executar novamente as queries? Você também poderia informar aspas duplas na palavra observação e executar a query novamente?

update aluno 
    set nome = 'Nico',
    cpf = '10987654321',
    "observacao" = 'Teste',
    idade = 38,
    dinheiro = 15.23,
    altura = 1.90,
    ativo = FALSE,
    data_nascimento = '1980-01-15',
    hora_aula = '13:00:00',
    matricula_em = '2020-01-02 15:00:00'
where id = 1;

Assim poderemos tentar entender o que está acontecendo no seu ambiente.