PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres вмъква ред само ако броят на редовете е под лимит

Този проблем е известен като Phantom Read :

Опитайте

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

Нивото на изолация на транзакциите ще гарантира, че транзакциите ще вмъкват стойности само ако броят е по-малък от 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. Календарни таблици в PostgreSQL 9

  2. Последователност от първичен ключ на PostgreSQL, загубена след мигриране с помощта на AWS DMS

  3. Съхраняване на събития при използване на Event Sourcing

  4. Резултати от групови заявки по месец и година в postgresql

  5. Как да запазите хронология на редактирането на поле с голям низ в релационна база данни