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

SET IDENTITY_INSERT postgresql

Anda tidak perlu set identity_insert di Postgres.

Cukup masukkan data ke dalam tabel Anda.

Namun yang perlu Anda lakukan adalah menyinkronkan ulang urutan yang ada di belakang kolom serial ("kenaikan otomatis") Anda menggunakan setval() fungsi:

select setval(pg_get_serial_sequence('my_table', 'my_serial_column'), 
              (select max(my_serial_column) from my_table) 
       ); 

Jika kolom tidak didefinisikan sebagai serial tetapi "only" memiliki nilai default yang diambil dari suatu urutan, Anda perlu memberikan nama urutan "secara manual"

select setval('my_sequence_name', (select max(my_serial_column) 
                                   from my_table)
       ); 

Sunting

Berikut adalah contoh SQLFiddle:http://sqlfiddle.com/#!15/690ea/1




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Operator Bitwise PostgreSQL dengan variasi bit tidak dapat DAN string bit dengan ukuran berbeda

  2. Variabel yang berisi jumlah baris yang terpengaruh oleh DELETE sebelumnya? (dalam sebuah fungsi)

  3. Bagaimana sqrt() Bekerja di PostgreSQL

  4. Mungkinkah melakukan kueri lintas basis data dengan PostgreSQL?

  5. Lewati array tag ke fungsi plpgsql dan gunakan dalam kondisi WHERE