[英]Mysql comments table in relation to multiple tables
由於基本可以在任何內容下進行注釋,因此我不確定如何將該關系轉換為數據庫設計模式。
CREATE TABLE comments (
id INT(11) NOT NULL PRIMARY KEY,
content TEXT NOT NULL,
authorId INT(11) NOT NULL,
FOREIGN KEY(authorId) REFERENCES users(id)
);
如您所見,注釋還通過將作者的ID存儲在數據集中來與用戶表建立聯系。 但是,評論本身可以在帖子或視頻下面,這是兩個單獨的表格。 這是我的問題:我應該為兩個關系(video_comments和post_comments)創建一個聯結表,還是應該以其他任何方式創建它。 另外,應該有一個ON DELETE CASCADE約束,該約束應導致視頻被刪除,同時也刪除與其相關的評論。
我認為您可以創建commentable_id
和commentable_type
來讓您知道此ID屬於此部分屬於哪個表
另外,應該有一個ON DELETE CASCADE約束,該約束應導致視頻被刪除,同時刪除與之相關的評論
我不知道該怎么做,我想如果我在您的位置,我會在刪除視頻之前使用代碼進行處理,然后檢查是否有任何評論並將其刪除。
這是您可能要考慮的另一種方法:
for/after delete triggers
后,請使用魔術表中的信息在觸發器內的注釋表上進行刪除。 這樣,您不必創建新表或使用級聯對象。 這只是我的假設,如果對您有意義,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.