2015-04-04 48 views
1

假設我在我的網站上有一個用戶表。現在,如果我想打一個系統,用戶可以上傳單個圖像的每個,這將是這樣的:如何爲每個用戶處理數據存儲MySQL

enter image description here

但是,如果我想打一個系統,用戶可以上傳圖片的數量不受限制,我將如何實現這一目標?我需要爲每個用戶上傳的每個圖像創建一個列嗎?但在那種情況下,不會是未使用的字段?例如:

enter image description here

另外,如果我想使albumns的照片我將如何處理這個問題?謝謝!

+1

有一個單獨的'圖像'表,其中包含用戶表的FK(例如user_id)。 – eggyal 2015-04-04 02:33:17

回答

1

處理此問題的最佳方法是爲圖像分別創建一個表格,但使用userID作爲用戶表的外鍵。

假設沒有兩個用戶會使用相同的圖像(這將是一個不同的情況),

你就像你有(第一個)你的用戶表,但只有ID和用戶。

你的第二個表將是這個樣子,其中圖像標識是主鍵,用戶名是ID外鍵關閉你的用戶表的

imageID UserID 
    1   1 
    2   1 
    3   1 
    4   2 
    5   2 

如果你想要的專輯,你可以只創建另一個以albumID作爲主鍵的表格,以及作爲該圖像表格的外鍵的imageID。您還可以在該表上包含UserID,並在需要多對多關係時創建複合主鍵。這種方式相冊仍然與用戶相關聯,但您可能有圖像出現在多個相冊中

相關問題