gpt4 book ai didi

mysql - 根据业务 X 周和 X 计数后,录音标记为删除

转载 作者:行者123 更新时间:2023-11-29 13:41:25 26 4
gpt4 key购买 nike

我在编写(我认为是)复杂的查询时遇到了麻烦。我有一个录音表,其中保存了我网站上的所有事件录音。我希望将录音保留指定的 X 周,然后再将其标记为“标记为删除”。另外,我只想为特定的“recs_bus_id”或业务存储 X 数量的录音。在标记为删除之前,每个企业的帐户只允许有 X 条记录,并且 recs_mark_deletion_time 的时间戳也会更新

这是我的问题,我不知道如何在不进行大量查询的情况下做到这一点

录音

recs_id  |  recs_insert_time | recs_title | recs_bus_id | recs_mark_deletion_time | recs_mark_deletion

业务

bus_id | bus_rec_save_weeks | bus_max_rec_save_count
  • bus_max_rec_save_count是允许业务保存的录音总数

现在我这样做是为了将录音标记为删除

SELECT * FROM recordings JOIN businesses ON Recording.recs_bus_id = Business.bus_id AND Recording.recs_insert_time < NOW() - INTERVAL Business.bus_rec_save_weeks WEEK
  • 然后,我只需循环遍历结果集并删除每个删除标记

我不知道如何根据“bus_id”获取顶部“bus_max_rec_save_count”之外的记录的结果集以标记删除。

最佳答案

您应该使用update来更新标志:

update recordings JOIN
businesses
ON Recording.recs_bus_id = Business.bus_id AND
Recording.recs_insert_time < NOW() - INTERVAL Business.bus_rec_save_weeks WEEK
set recordins.MarkForDeletion = 1;

关于mysql - 根据业务 X 周和 X 计数后,录音标记为删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18034077/

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