是的,如果您希望將一個視頻添加到多個播放列表中,您應該在視頻和播放列表之間創建多對多關係,反之亦然。
因此,您的多對多關係表可能看起來像這樣,其中playlist_id
和video_id
的組合是您的主要關鍵。
playlist_has_video
------------------
playlist_id
video_id
如果您希望能夠將多個視頻添加到播放列表中,您也必須在此表中創建一個id col。所以現在id
是你的主要關鍵。
playlist_has_video
------------------
id
playlist_id
video_id
當您想要使用戶進行排序播放列表考慮增加另一個山坳order_id
您正以米表。
playlist_has_video
------------------
id
playlist_id
video_id
order_id
現在讓我們看看在選擇查詢(我將把最後的設計,id
+ order_id
)
檢索從播放列表中的所有視頻:
SELECT video.* FROM playlist_has_video AS phv LEFT JOIN video ON phv.video_id = video.id WHERE phv.playlist_id = :playlist_id ORDER BY order_id ASC;
檢索所有播放的視頻在:
SELECT playlist.* FROM playlist_has_video AS phv LEFT JOIN playlist ON phv.playlist_id = playlist.id WHERE phv.video_id = :video_id;
你必須改變你的視頻 - 如果您使用此方法,也請使用表(請確保您刪除了playlist_id)
video
---------
id
title
description
user_id
transcript_id
created
updated
是的。沒錯。 – Strawberry
謝謝,現在我又向前邁了一步:) – andersfylling