Php 更新链接表

Php 更新链接表,php,mysql,database-design,data-modeling,Php,Mysql,Database Design,Data Modeling,我目前在PHP和MySQL上运行的CMS上添加了一些管理假日出租的功能 CMS在两个表中存储了酒店的详细信息,我正在添加第三个表(letting_times),其中将包含关于人们何时入住酒店的信息。基本功能允许用户在客人入住时添加新的时间,编辑客人入住的时间,如果客人不想再入住酒店,则删除预订 现在,我能想到的更新属性占用时间的最佳方法是删除letting_times数据库中包含的所有时间,然后再次插入它们。我唯一能想到的另一种方法是包含表的主键,如果主键存在且有值,则执行更新,否则执行插入,但

我目前在PHP和MySQL上运行的CMS上添加了一些管理假日出租的功能

CMS在两个表中存储了酒店的详细信息,我正在添加第三个表(
letting_times
),其中将包含关于人们何时入住酒店的信息。基本功能允许用户在客人入住时添加新的时间,编辑客人入住的时间,如果客人不想再入住酒店,则删除预订

现在,我能想到的更新属性占用时间的最佳方法是删除letting_times数据库中包含的所有时间,然后再次插入它们。我唯一能想到的另一种方法是包含表的主键,如果主键存在且有值,则执行更新,否则执行插入,但如果删除数据行,则不会删除数据行


有更好的方法吗?

以下是我对
出租次数表的建议:

  • 属性\u ID
    ,主键和fk
  • 生效日期
    ,主键,日期,非空
  • 到期日
    ,日期,不为空

将pk设置为复合键(
PROPERTY\u ID
EFFECTIVE\u DATE
)允许您为给定属性设置多个记录,同时阻止它们在同一天出现。没有一种简单的方法可以阻止[sub?]租房重叠,但这将减少删除一处房产包含的所有时间并重新添加。

这有助于防止租房被重复预订,但我不认为如果取消预订会有什么帮助。例如,一处房产有三次预订。如果取消了预订#2并添加了另一个预订,我无法在不删除所有内容并重新开始的情况下添加新预订并删除已取消的预订。要处理取消,请删除相应的条目,而不是所有记录。大规模删除是一种糟糕的方法。