2010-08-19 141 views
1

不知道如何正確執行此操作。如何將ID從一個表添加到另一個表?

我有我的用戶表約500,000已存在的行。

我爲我的音樂社區創建播放列表功能,所以我有一張名爲播放列表的表格。我想給每個500,00個用戶分配一個名爲Favorites的默認播放列表。

這樣做的最好方法是什麼?

我應該調用用戶表並循環訪問數據嗎?在每個循環中,我將USERID插入到播放列表中?有沒有更高效的流程?

+0

如果你有一次性任務要做,你可以選擇任何你想要的方式,即使是(合理)效率低下的一個......如果你不得不一直這樣做,那就是另外一回事了...... – Palantir 2010-08-19 14:52:58

+0

好點,從來沒有想過這樣。我想我只是擔心拉動整個用戶表會減慢數據庫服務器的速度。 – pixel 2010-08-19 14:54:39

+0

@pizel,你允許用戶有幾個播放列表 – 2010-08-19 14:56:09

回答

1

你應該只能夠運行查詢

UPDATE table_reference 
SET column = 'Favorites' 

有沒有WHERE子句,因此它會應用到一切。

編輯

如果您計劃在具有默認值是「收藏夾」您可以設置字段的默認值,這樣你就不會再遇到這個問題。

0

我假設你讓用戶有多個播放列表,並且用戶不能共享一個共同的播放列表(即不是一個多對多的,所以只有一個用戶可以具有相同的播放列表)

這意味着,你需要複製的收藏夾播放列表記錄每個用戶的,是這樣的:

INSERT into PlayLists(UserId, PlayListName) 
SELECT u.ID, 'Favorites' FROM Users u 

你可能也有一個多對多的表PlayListSong或類似的哪個環節的歌曲添加到播放列表

這也意味着你需要複製所有的鏈接 - 如果您可以更多地瞭解您的餐桌設計,那麼SO會員也可以幫助您。

相關問題