2010-08-19 82 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会员也可以帮助您。

相关问题