如何查找和更新链接表中的下一条记录

时间:2010-05-22 15:01:36

标签: mysql codeigniter

我有一个我正在研究的分类系统。

人们可以将照片添加到分类中,但我只在显示分类列表时显示一张照片。

为此,我在分类广告和照片之间有一个链接表,其中包含“is_main”布尔字段。

当有人删除其中一张机密照片时,我想:

1) See if there is more than that photo tied to the classified.
2) If there is, update the next photo and set that "is_main" field to TRUE.

试图找出最有效的方法来做到这一点。

2 个答案:

答案 0 :(得分:0)

在我看来,我发现在数据库中存储图像名称有点多余 我宁愿创建一个以分类id命名的目录,并在那里存储相应的图像。

因此,如果用户删除照片,他只会删除照片。

为了将一张照片保留为主照片,我将其称为main.jpg 如果它将被删除,我会阅读目录内容并重命名最先出现的照片 这都是

答案 1 :(得分:0)

在我看来,你不应该在照片表中设置'is_main'标志,而是将该照片的ID添加到分类记录中。寻找用于显示目的的“主要”照片要快得多(我经常这种情况发生)。

从照片表中删除照片时,您需要查看它是否是分类广告表中引用的照片。如果是,则可以选择与之关联的下一张照片(例如,使用min(PhotoID)或min(Created),其中创建的是将照片添加到照片表时的日期时间。

结论:照片的_main属性不是照片桌上的标志,而是分类广告表中的FK。