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

Peningkatan otomatis PostgreSQL meningkat pada setiap pembaruan

Urutan akan bertambah setiap kali penyisipan dicoba terlepas dari keberhasilannya. update sederhana (seperti dalam contoh Anda) tidak akan menambahnya tetapi insert on conflict update akan sejak insert dicoba sebelum update .

Salah satu solusinya adalah mengubah id ke bigint . Lain adalah tidak menggunakan urutan dan mengelolanya sendiri. Dan yang lainnya adalah melakukan penyisipan manual:

with s as (
    select id
    from notifications
    where title = 'something'
), i as (
    insert into notifications (title, description)
    select 'something', 'whatever'
    where not exists (select 1 from s)
)
update notifications
set title = 'something else'
where id = (select id from s)

Ini mengandaikan title unik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL -harus muncul di klausa GROUP BY atau digunakan dalam fungsi agregat

  2. Paksa Liquibase untuk memetakan Blob ke BYTEA di PostgreSQL

  3. Permintaan PostgreSQL -- kolom tidak ada

  4. Masalah menyiapkan database postgreSQL untuk proyek Django

  5. Parameter Dinamis Data Pegas Interval Postgres tidak berfungsi