PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PostgreSQL - nilai serial berikutnya dalam sebuah tabel

Jika Anda ingin mengklaim ID dan mengembalikannya, Anda dapat menggunakan nextval() , yang memajukan urutan tanpa memasukkan data apa pun.

Perhatikan bahwa jika ini adalah SERIAL kolom, Anda perlu menemukan nama urutan berdasarkan tabel dan nama kolom, sebagai berikut:

Select nextval(pg_get_serial_sequence('my_table', 'id')) as new_id;

Tidak ada jaminan kuat bahwa Anda akan melihat ID ini kembali secara berurutan (urutan menghasilkannya secara berurutan, tetapi beberapa sesi dapat mengklaim ID dan belum menggunakannya, atau memutar kembali INSERT dan ID tidak akan digunakan kembali) tetapi ada jaminan bahwa ID tersebut akan unik, yang biasanya merupakan hal yang penting.

Jika Anda sering melakukan ini tanpa benar-benar menggunakan ID, pada akhirnya Anda akan menggunakan semua nilai yang mungkin dari integer 32-bit kolom (yaitu mencapai bilangan bulat maksimum yang dapat diwakili), tetapi jika Anda menggunakannya hanya ketika ada kemungkinan besar Anda benar-benar akan memasukkan baris dengan ID itu, itu tidak masalah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memanggil transform() tanpa set SRID tidak didukung

  2. Pencadangan DB Postgresql Praktik ideal

  3. pgAdmin III Mengapa hasil kueri dipersingkat?

  4. Spring Batch - Tidak dapat menyimpan catatan ke database Postgres

  5. Bagaimana saya bisa melakukan vakum menggunakan PostgreSQL?