我有一个表daily_ward
条目,其中包含以下列
daily_ward
-------------
services integer
ipd_patient_id integer
date_time datetime
现在我想限制服务= 1的服务每天一个条目。
我的date_time字段也包含时间,服务包含许多服务。
因此我不能马上添加一个独特的索引。
我应该怎么做?
答案 0 :(得分:1)
哦,这太伤心了。您无法使用您拥有的数据类型在MySQL中执行此操作。以下是三种选择。
首先是将日期和时间分成两列:
(您应该提供更好的名称。)然后在services
和date
列上创建唯一索引。
第二种是以ISO标准格式存储日期/时间:" YYYY-MM-DD HH:MM:SS"通常就足够了:
然后使用前缀
构建索引create unique index idx_daily_ward_services_day on (services, left(datetime_str, 10));
最后,您可以添加另一个名为date
的列,并使用触发器填充它。
鉴于表的名称是" daily_ward",我倾向于选择第一个解决方案。 " date"似乎是实体所代表的重要组成部分。