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.