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

PostgreSQL - henter varer i den rækkefølge, de blev gemt

For at uddybe Marks korrekte svar beholder PostgreSQL ikke et rækketidsstempel, og det beholder ikke rækker i nogen bestemt rækkefølge. Medmindre du definerer dine tabeller med en kolonne, der indeholder det tidsstempel, de blev indsat på, er der ingen måde at vælge dem i den rækkefølge, de blev indsat.

PostgreSQL vil ofte returnere dem i den rækkefølge, de blev indsat i alligevel, men det er bare fordi de tilfældigvis er i den rækkefølge på disken. Dette ændres, når du update s på bordet, eller deletes derefter insert s. Operationer som vacuum full også ændre det. Du bør aldrig, aldrig stole på ordren uden en eksplicit order by klausul.

Hvis du ønsker, at indsættelsestidsstemplet skal variere for rækker inden for en transaktion, kan du bruge clock_timestamp i stedet for now() . Brug også SQL-standarden current_timestamp i stedet for at skrive now() .




  1. PHP Prepared Statements... Bind variabel som numerisk område i REGEXP?

  2. Skal jeg oprette et nyt felt i tabellen eller bare vælge MAX for den anden tabel

  3. Forespørgsel for at vælge strenge, der slutter med et bestemt tegn

  4. ColdFusion - Indsættelse af arabiske/persiske tegn i mysql