Как изменить отношение один-к-одному на отношение один-ко-многим в MySQL? - PullRequest
1 голос
/ 27 февраля 2010

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

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

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

user_tokens - столбцы: id, user_id, token_id

Можно ли ВЫБРАТЬ из таблицы моего текущего пользователя В эти таблицы, чтобы импортировать столбцы username, oauth_token и oauth_secret, а также настроить таблицу user_tokens с соответствующими идентификаторами?

В прошлом я писал для этого короткие PHP-скрипты, но мне всегда было любопытно, могу ли я сделать это напрямую в MySQL.

Ответы [ 2 ]

2 голосов
/ 27 февраля 2010

Вам не нужна таблица отношений для отношения один ко многим, вам просто нужно поле user_id в таблице токенов. Это также облегчает сложение таблицы:

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

(Поскольку я точно не знаю, что находится в вашей пользовательской таблице и каковы имена полей, возможно, потребуется некоторая корректировка.)

0 голосов
/ 27 февраля 2010

Оформить заказ Документация MySQL . Я думаю, что это должно помочь вам.

...