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

Bisakah Anda membuat urutan pada kolom yang sudah ada di Postgres

Nah Anda harus terlebih dahulu membuat urutan yang ingin Anda gunakan untuk nilai default:

create sequence linelevelpmts_seq_seq;
ALTER TABLE public.linelevelpmts 
    ALTER COLUMN seq SET DEFAULT nextval('linelevelpmts_seq_seq'::regclass);

Jika Anda menginginkan efek yang sama seperti jika dibuat sebagai serial anda juga perlu mengubah "pemilik" dari urutan:

alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Sunting

Komentar Igor bagus:jika Anda sudah memiliki nilai di kolom seq anda harus menyesuaikan nilai awal dari urutan:

select setval('linelevelpmts_seq_seq', (select max(seq) from linelevelpmts));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan upsert (Saat Konflik Lakukan Pembaruan) menunjuk ke duplikat nilai yang dibatasi

  2. Permintaan Postgresql untuk mendapatkan hitungan per bulan dalam satu tahun

  3. Bagaimana saya bisa melakukan pencarian tidak sensitif aksen di Postgres 8.3.x dengan DB di utf-8?

  4. Mengapa kode ini gagal di PostgreSQL dan bagaimana cara memperbaikinya (menyelesaikan masalah)? Apakah ini kelemahan mesin Postgres SQL?

  5. Mengapa Anda harus belajar PostgreSQL?