PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

La posizione della colonna id in Postgresql è importante?

In teoria dovrebbe andare tutto bene, ma ci sono sempre scenari in cui il tuo codice potrebbe fallire.

Ad esempio:

a) blind insert :

 INSERT INTO tab_name
 VALUES (1, 'b', 'c');

Un inserimento cieco si verifica quando una query INSERT non specifica quali colonne ricevono i dati inseriti.

Perché è una cosa negativa?

Perché lo schema del database potrebbe cambiare. Le colonne possono essere spostate, rinominate, aggiunte o eliminate. E quando lo sono, una di almeno tre cose può succedere:

  1. La query non riesce. Questo è lo scenario migliore. Qualcuno ha eliminato una colonna dalla tabella di destinazione e ora non ci sono abbastanza colonne in cui inserire l'inserimento, oppure qualcuno ha modificato un tipo di dati e il tipo inserito non è compatibile, e così via. Ma almeno i tuoi dati non vengono danneggiati e potresti anche sapere che il problema esiste a causa di un messaggio di errore.

  2. La query continua a funzionare e non c'è nulla di sbagliato. Questo è uno scenario nel peggiore dei casi. I tuoi dati non sono corrotti, ma il mostro si nasconde ancora sotto il letto.

  3. La query continua a funzionare, ma ora alcuni dati vengono inseriti in un punto a cui non appartengono. I tuoi dati vengono danneggiati.

b) ORDER BY oridinal

SELECT *
FROM tab
ORDER BY 1;