小编Pak*_*Lui的帖子

UNIQUE 约束的事务策略?

如何使用基于交易的策略来确保同一地点在同一天不能被多次预订?

有人向我建议,每个隔离级别都会有所不同。你能为他们每个人添加一个例子吗?( read committed,repeatable readserializable)。我想了解他们中的每一个人。

以下是表格和测试数据:

CREATE TABLE place (
  place_id INT                   PRIMARY KEY,
  Name     CHARACTER VARYING(50) NOT NULL,
  Type     CHARACTER VARYING(50) NOT NULL
);

CREATE TABLE visit (
  visit_id SERIAL PRIMARY KEY,
  place_id INT NOT NULL,
  place_dt TIMESTAMP NOT NULL,

  FOREIGN KEY (place_id) REFERENCES place(place_id)
);

INSERT INTO place(place_id, Name, Type
) VALUES
    (1, 'Denali', 'mountain'),
    (2, 'Brindley', 'mountain'),
    (3, 'St. Louis Cathedral', 'church')
;

INSERT INTO visit(place_id, place_dt
) VALUES
    (1, '2019-01-02 10:00'), …
Run Code Online (Sandbox Code Playgroud)

postgresql concurrency transaction isolation-level

4
推荐指数
2
解决办法
250
查看次数