gpt4 book ai didi

php - 从表中删除行后维护连续索引值

转载 作者:行者123 更新时间:2023-11-30 01:09:11 26 4
gpt4 key购买 nike

我正在开发一个日程表构建应用程序,它允许用户将事件添加到日程表中的某一天。

我有一个包含标题数据的明细表:

计划名称、计划长度(以天为单位)、ID

还有一个事件表,其中包含事件 ID、日程 ID 和日期偏移量。

日期偏移是指计划的“第 n”天。我不需要存储特定日期 - 当日程表添加到某人的日历时,这些日期会稍后添加。

不一定要在计划内的所有日子或其中任何一天进行事件。

问题是 - 我希望能够从计划中删除天(并为此插入 n 天)。

为了删除,用户可以突出显示他们正在编辑的时间表中的多天。

因此,在选择删除时,我将从事件表中删除一组日期偏移量。这一点微不足道。

我的问题是 - 如果我从日程表中删除第 5 天,那么第 6 天就会成为新的第 5 天;第 7 天、新的第 6 天等,因此我需要更新表中所有受影响的事件记录。

我能想到的唯一方法是按升序排列要删除的天数,依次删除每个天数,然后搜索并递减所有记录,其中 dayoffset 值高于已删除的偏移量。然后针对要删除的每一天重新运行此查询。

感觉效率很低,但我想不出更好的办法。有什么想法吗?

最佳答案

UPDATE `schedule` SET `day` = `day` - number_of_deleted_days WHERE `day` > first_day_deleted;

顺序并不真正取决于,您可以优化它以在连续范围内工作,但据我所知,没有什么更好的了

关于php - 从表中删除行后维护连续索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com