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

Postgres menyisipkan baris hanya jika jumlah baris di bawah batas

Masalah ini dikenal sebagai Phantom Read :

Coba

BEGIN;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
INSERT INTO mytable (myvalue, mykey) SELECT 'randomvalue', 1 WHERE
    (SELECT COUNT(*) FROM mytable WHERE mykey = 1) < 5;
END;

Tingkat isolasi transaksi akan memastikan bahwa transaksi hanya akan memasukkan nilai jika hitungannya kurang dari 5.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Keluarkan ya/tidak sebagai ganti t/f untuk tipe data boolean di PostgreSQL

  2. PostgreSQL:kembalikan pesan setelah hitungan =0

  3. Cara tercepat untuk mengeksekusi kueri penghapusan dalam tabel besar di PostgreSQL

  4. Menemukan kombinasi nilai-nilai tertentu

  5. tipe yang ditentukan pengguna sebagai parameter input dalam fungsi PostgreSQL