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

Bagaimana cara mengubah kunci utama dari integer ke serial?

serial adalah semu tipe data, bukan tipe data yang sebenarnya. Ini adalah integer di bawahnya dengan beberapa perintah DDL tambahan yang dijalankan secara otomatis:

  1. Buat urutan (dengan nama yang cocok secara default).
  2. Setel kolom NOT NULL dan default untuk menggambar dari urutan itu.
  3. Jadikan kolom "milik" urutannya.

Detail:

  • Mengganti nama tabel dengan aman dan rapi yang menggunakan kolom kunci utama serial di Postgres?

Sebuah bigserial adalah sama, dibangun di sekitar bigint kolom. Anda ingin bigint , tapi Anda sudah mencapainya. Untuk mengubah serial yang ada kolom menjadi bigserial (atau smallserial ), yang perlu Anda lakukan adalah ALTER tipe data kolom. Urutan umumnya didasarkan pada bigint , jadi urutan yang sama dapat digunakan untuk integer ketik.

Untuk "mengubah" sebuah bigint menjadi bigserial atau integer menjadi serial , Anda hanya perlu melakukan sisanya dengan tangan:

  • Membuat urutan PostgreSQL ke bidang (yang bukan ID catatan)

Tipe data sebenarnya masih integer / bigint . Beberapa klien seperti pgAdmin akan menampilkan tipe data serial dalam CREATE TABLE yang direkayasa terbalik skrip, jika semua kriteria untuk serial terpenuhi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan Nama Hari dari Tanggal di PostgreSQL

  2. Cara Menggunakan pgBackRest untuk Mencadangkan PostgreSQL dan TimescaleDB

  3. Ubah kolom PostgreSQL yang digunakan dalam tampilan

  4. Menggunakan jsonb_set() untuk memperbarui nilai array jsonb tertentu

  5. Bagaimana cara mengubah skema beberapa tabel PostgreSQL dalam satu operasi?