1

使用其媒体删除专辑分层数据的正确方法是什么。

我是否应该开始循环并找到所有子专辑 ID 并删除 thou 并进行查询以删除属于该专辑 ID 的所有媒体。

如果数据很多或用户的专辑很多,这将是查询执行的负载。你的设备是什么。

我的数据库结构:

**album**
album_id
name
parent_id

**media**
media_id
album_id
name
4

1 回答 1

0
DELETE 
  FROM albums,
       media
 WHERE media.albumID = albums.albumID
   AND (albums.parentID = ? or albums.albumID = ?)

这是最简单的方法,假设您的数据中没有定义触发器或关系。在不了解您的特定数据库结构的情况下,很难给出更好的答案;但是,与其他情况一样,最好将其作为单个 SQL 语句执行。为什么?它保留了您的数据完整性,否则您必须在软件手动删除特定条目时对各个表发出锁定(这也是一种解决方案,但除非了解更多,否则我不推荐)。

于 2010-02-02T23:12:50.683 回答