2010-02-27 101 views
1

我目前有一个用户表,其中包含Youtube OAuth令牌的一对一关系。但是,我现在想要支持多个视频网站,并希望将其分解为一对多的关系。如何在MySQL中将一对一关系更改为一对多关系?

我已经安装了新表:

令牌 - 的cols:ID,网站,用户名(用户在YouTube上的用户名),组oauth_token,oauth_secret

的user_tokens - 的cols:ID,USER_ID,token_id

有没有一种方法,我可以从我的当前用户的表的SELECT INTO这些表导入的用户名,组oauth_token和oauth_secret列,同时也有相应的ID的设立的user_tokens表?

在过去,我已经写了很短的PHP脚本来做到这一点,但一直都很好奇我是否可以直接在MySQL中完成它。

回答

2

对于一对多关系,您不需要关系表,您只需在令牌表中使用user_id字段。这也使得它更容易poultate表:(因为我不知道到底是什么在你的用户表,什么字段名,它可能需要一些调整)

insert into tokens (site, user_id, username, oauth_token, oauth_secret) 
select site, user_id, username, oauth_token, oauth_secret 
from users 

+0

哦,对了。我混淆了,然后认为我需要一个关系表。谢谢 – 2010-02-27 20:50:41