sql >> Databáze >  >> RDS >> PostgreSQL

Nejsou n-tice vkládány postupně do databázové tabulky?

To je nedorozumění. V tabulce relační databáze neexistuje žádné "přirozené" pořadí. Zatímco řádky jsou normálně vkládány postupně do fyzického souboru obsahujícího stůl, široká škála činností může změnit fyzické pořadí. A dotazy, které provádějí něco víc než základní (neparalelizované) sekvenční skenování, mohou vracet řádky v libovolném vhodném pořadí. To je podle standardního SQL.

Pořadí, které vidíte, je libovolné, pokud nepřidáte ORDER BY na dotaz.

pgAdmin3 standardně řadí řádky podle primárního klíče (pokud není uvedeno jinak). Váš sloupec je typu varchar a řádky jsou seřazeny abecedně (podle vašeho aktuálního národního prostředí). Vše podle návrhu, vše jak má být.

Chcete-li seřadit řádky, jak se zdá, můžete do textu vložit „0“:

...
typename_0009
typename_0010
...

Správné řešení bylo by však mít číselný sloupec pouze s číslem.

Možná vás bude zajímat přírodní řazení. Také by vás mohl zajímat serial sloupec.



  1. Jak vložit záznam a vrátit nově vytvořené ID pomocí jednoho příkazu SqlCommand?

  2. Jak najít verzi komponent EBS R12

  3. mysql_num_rows() očekává, že parametr 1 bude zdroj, zadaný boolean

  4. Najděte maximální hodnotu a zobrazte odpovídající hodnotu z jiného pole na serveru SQL