使用其他表中的列添加CHECK约束

问题描述 投票:0回答:1

我有两个表:

  • [schedules:id,daily_schedule_id,开始,结束]
  • daily_schedules:ID,日期

我想向schedules.startschedules.finish添加约束,以检查daily_schedules.date的值。有没有简单的方法可以做到这一点?

遵循这些原则:

ALTER TABLE schedules 
   ADD CONSTRAINT schedules_date_range_check CHECK (start = daily_schedules.date AND finish = daily_schedules.date)
postgresql constraints check-constraints
1个回答
0
投票
尽管有多种方法可以从技术上做到这一点,但它不受支持,并且是个坏主意,因为它可能导致无法恢复转储。

避免数据库中的冗余始终是一个好主意,因此我建议您将startfinish的数据类型存储为time,相对于相关datedaily_schedule可以理解。 。

只需添加timedate,瞧,您得到了timestamp

© www.soinside.com 2019 - 2024. All rights reserved.