2010-02-27 102 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