PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgres wstawia wiersz tylko wtedy, gdy liczba wierszy jest poniżej limitu

Ten problem jest znany jako Odczyt widmowy :

Wypróbuj

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

Poziom izolacji transakcji zapewni, że transakcje będą wstawiać wartości tylko wtedy, gdy liczba jest mniejsza niż 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. Optymalny rozmiar partycji bazy danych

  2. Sprawianie, by plik database.yml działał w Railsach na OSX

  3. Czy kursory w Django działają wewnątrz otwartej transakcji?

  4. Znajdź najdłuższą passę doskonałych wyników na gracza

  5. Puppet i Postgres irytujące ostrzeżenie:przekazywanie wersji na postgresql::server jest przestarzałe