2010-02-27 2 views
1

В настоящее время у меня есть таблица пользователя, которая содержит взаимно однозначные отношения для токенов OAuth Youtube. Тем не менее, теперь я хочу поддерживать несколько видеосайтов и хочу разбить их на отношения «один ко многим».Как изменить отношение «один-к-одному» к отношениям «один ко многим» в MySQL?

Я установки новых таблиц:

токенов - Cols: идентификатор, сайт, имя пользователя (логин пользователя на Youtube), oauth_token, oauth_secret

user_tokens - Cols: ID, user_id, token_id

есть ли способ, я могу выбрать из таблицы моего текущего пользователя в этих таблицах, чтобы импортировать имя пользователя, oauth_token и oauth_secret столбцы, а также создание таблицы 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

О порядке. Я перепутался, подумав, что мне нужен стол отношений. благодаря –

Смежные вопросы