我正在尝试在PostgreSQL中创建一个表,阻止用户输入在之前插入的操作中花费时间的操作。
我的目标是创建医院模式,并阻止用户添加在之前添加的操作中花费时间的操作,这种操作发生在同一个房间(没有重叠)。
让我们说,首先,我在房间'a1'中添加了一个操作,需要时间在11月15日15:45到16:45之间,然后我希望数据库阻止我在房间'a1中添加操作“这需要时间在11月15日16:00到17:00之间。
像(不工作)的东西:
CONSTRAINT operation_un UNIQUE(room, ???datetime???)
答案 0 :(得分:3)
您要谷歌的短语是" postgresql排除约束"。
有一个例子正是你想要的。
http://www.postgresql.org/docs/current/static/rangetypes.html#RANGETYPES-CONSTRAINT