PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy pozycja kolumny id w Postgresql jest ważna?

Teoretycznie wszystko powinno być w porządku, ale zawsze są sytuacje, w których Twój kod może się nie powieść.

Na przykład:

a) blind insert :

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

Ślepe wstawianie ma miejsce, gdy zapytanie INSERT nie określa, które kolumny otrzymują wstawione dane.

Dlaczego to zła rzecz?

Ponieważ schemat bazy danych może się zmienić. Kolumny można przenosić, zmieniać ich nazwy, dodawać lub usuwać. A kiedy tak się dzieje, może zdarzyć się jedna z co najmniej trzech rzeczy:

  1. Zapytanie kończy się niepowodzeniem. To najlepszy scenariusz. Ktoś usunął kolumnę z tabeli docelowej, a teraz nie ma wystarczającej liczby kolumn do wstawienia, lub ktoś zmienił typ danych, a wstawiony typ nie jest zgodny i tak dalej. Ale przynajmniej Twoje dane nie ulegają uszkodzeniu, a możesz nawet wiedzieć, że problem istnieje z powodu komunikatu o błędzie.

  2. Zapytanie nadal działa i nic się nie dzieje. To jest środkowy najgorszy scenariusz. Twoje dane nie są uszkodzone, ale potwór wciąż ukrywa się pod łóżkiem.

  3. Zapytanie nadal działa, ale teraz niektóre dane są wstawiane w miejsce, do którego nie należy. Twoje dane ulegają uszkodzeniu.

b) ORDER BY oridinal

SELECT *
FROM tab
ORDER BY 1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. problem z python manage.py migrate -> Brak modułu o nazwie psycopg2

  2. Jak Atan2d() działa w PostgreSQL

  3. Zarządzanie połączeniami w PostgreSQL:przewodnik

  4. Multi-DC PostgreSQL:konfigurowanie węzła gotowości w innej lokalizacji geograficznej za pośrednictwem sieci VPN

  5. Jak stworzyć użytkownika za pomocą PSQL