将字段值和ID链接到另一个表?

Miu*_*shi 1 mysql sql database

如何将我的主表中名为"username"的所有用户链接或添加到另一个表中,以便我可以运行检查并比较值而无需向主表添加大量行?这将是一个更清洁,更有条理的设置.

表名为login_users.这是我存储基本信息的主表

username       email                 password
Anthony        user@email.com
Josh           user@email.com
Tsuyoshi       user@email.com
Run Code Online (Sandbox Code Playgroud)

表2称为badge_status.此表将保留其是否已在我的网站上解锁成就的状态.我想引入用户名.

username       badge1               badge2
Anthony        locked               unlocked
Josh           unlocked             locked
Tsuyoshi       unlocked             locked
Run Code Online (Sandbox Code Playgroud)

此外,表2可以在新用户注册时自动更新,因为所有新注册都会导入到第一个表中.作为旁注,我使用的是phpmyadmin.

感谢您对此设置的任何帮助.非常感谢.

Ale*_*der 9

我认为您应该使用以下架构来规范化您的数据:

  • login_users [表]
    • 用户名
    • 电子邮件
    • 密码
  • 徽章[表]
    • BadgeId int PRIMARY KEY
    • BadgeName
    • ...... (任何其他相关专栏)
  • users_badges [表]
    • username(login_users表上用户名列的外键约束)
    • BadgeId(badges表上BadgeId列的外键约束)

这将允许您根据需要添加任意数量的标记,而无需更改数据库模式或脚本.