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

Krotki nie są wstawiane kolejno do tabeli bazy danych?

To nieporozumienie. W tabeli relacyjnej bazy danych nie ma „naturalnej” kolejności. Podczas gdy wiersze są zwykle wstawiane po kolei do fizycznego pliku zawierającego tabelę, szereg czynności może zmienić porządek fizyczny. A zapytania wykonujące coś więcej niż podstawowe (nierównoległe) skanowanie sekwencyjne mogą zwracać wiersze w dowolnej dogodnej kolejności. To jest zgodne ze standardowym SQL.

Kolejność, którą widzisz, jest dowolna, chyba że dodasz ORDER BY do zapytania.

pgAdmin3 domyślnie porządkuje wiersze według klucza podstawowego (o ile nie określono inaczej). Twoja kolumna jest typu varchar a wiersze są uporządkowane alfabetycznie (zgodnie z aktualnymi ustawieniami regionalnymi). Wszystko zgodnie z projektem, wszystko tak, jak powinno.

Aby posortować wiersze, tak jak się tego spodziewasz, możesz wstawić w tekście jakieś „0”:

...
typename_0009
typename_0010
...

Właściwe rozwiązanie byłoby mieć kolumnę liczbową z samą liczbą.

Możesz być zainteresowany sortowaniem naturalnym. Możesz być również zainteresowany serial kolumna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać kopię zapasową i przywrócić bazę danych PostgreSQL

  2. PostgreSQL – jak wyeliminować powtarzające się wartości

  3. Jak mogę sprawdzić, czy kolumna istnieje w tabeli za pomocą instrukcji SQL?

  4. Zapytania parametryczne za pomocą psycopg2 / Python DB-API i PostgreSQL

  5. Wstawianie przygotowanego zestawienia do bazy danych - PSQL