PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

A posição da coluna id no Postgresql é importante?


Em teoria, tudo deve estar bem, mas sempre há cenários em que seu código pode falhar.

Por exemplo:

a) blind insert :
 INSERT INTO tab_name
 VALUES (1, 'b', 'c');

Uma inserção cega ocorre quando uma consulta INSERT não especifica quais colunas recebem os dados inseridos.

Por que isso é uma coisa ruim?

Porque o esquema do banco de dados pode mudar. As colunas podem ser movidas, renomeadas, adicionadas ou excluídas. E quando são, uma de pelo menos três coisas pode acontecer:

  1. A consulta falha. Este é o melhor cenário. Alguém excluiu uma coluna da tabela de destino e agora não há colunas suficientes para inserir a inserção, ou alguém alterou um tipo de dados e o tipo inserido não é compatível, ou assim por diante. Mas pelo menos seus dados não estão sendo corrompidos, e você pode até saber que o problema existe por causa de uma mensagem de erro.

  2. A consulta continua a funcionar e nada está errado. Este é um cenário de pior caso médio. Seus dados não estão corrompidos, mas o monstro ainda está escondido debaixo da cama.
  3. A consulta continua funcionando, mas agora alguns dados estão sendo inseridos em algum lugar ao qual não pertencem. Seus dados estão sendo corrompidos.

b) ORDER BY oridinal
SELECT *
FROM tab
ORDER BY 1;