【发布时间】:2016-05-09 13:20:44
【问题描述】:
我在 PostgreSQL 9.4 中有一张表:
user_votes (
user_id int,
portfolio_id int,
car_id int
vote int
)
是否可以在表格上设置一个约束,以便用户在每个投资组合中最多可以有 99 个点进行投票? 这意味着一个用户可以拥有多行,其中包含相同的 user_id 和 portfolio_id,但不同的 car_id 和 vote。总票数不应超过 99,但可以放在不同的汽车之间。
这样做:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 1, 20),
(1, 1, 7, 40),
(1, 1, 9, 25)
都可以,但是当尝试添加超过 99 票的内容时应该会失败,比如另一行:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 21, 40)
【问题讨论】: