代码之家  ›  专栏  ›  技术社区  ›  Matt McCormick

如何在mysql中将一对一关系改为一对多关系?

  •  1
  • Matt McCormick  · 技术社区  · 16 年前

    我目前有一个用户表,其中包含youtube oauth令牌的一对一关系。不过,我现在想支持多个视频网站,并希望打破这种一对多的关系。

    我已经设置了新的表格:

    令牌-cols:id,site,username(用户在youtube上的用户名),oauth_令牌,oauth_secret

    用户令牌-cols:id,用户id,令牌id

    有没有一种方法可以从当前用户的表中选择导入这些表,以便导入用户名、oauth_令牌和oauth_secret列,同时用适当的id设置user_令牌表?

    在过去,我编写了一些简短的php脚本来完成这项工作,但是我一直很好奇是否可以在mysql中直接完成。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Guffa    16 年前

    对于一对多关系,不需要关系表,只需要令牌表中的用户id字段。这也使得倒桌子更容易:

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

    (由于我不清楚用户表中的内容和字段名,可能需要进行一些调整。)

        2
  •  0
  •   radious    16 年前

    结帐 MySQL documentation . 我想这对你有帮助。

    推荐文章