我做了三张 table 。
Table1=users 。列名是 userid (auto_increment) 和 username 。
表2=爱好 。列名是 hobbyid (auto_increment) 和 hobbyname 。
表3=users_hobbies 。列名是 FK_userid 和 FK_hobbyid 。
现在,每当我 从 html 表单注册新用户和他/她的爱好 时,我 都会选择
从表1和表2生成的对应用户ID和hoobyid
和 使用查询 将它们插入表 3
那么,如果我在表 1 和表 3 以及表 2 和表 3 之间创建它,关系有什么用呢?
对应的 userid 和 hobbyid 是否会自动 转到表 3 而不使用查询 ?
最佳答案
不,userid 和 hobbyid 不会自动到任何地方。
关系或约束的主要点是强制执行数据完整性。这意味着您不应该在没有 id 为 2 的用户和 id 为 2 的爱好的情况下将包含 id 2, 2 的条目添加到 users_hobbies 表中。
为了保持这种完整性,您还可以指定级联。 (根据数据库系统,我几乎不使用 mysql,所以我不确定)。
这意味着,如果用户本人被删除,您可以指定删除 id 为 1 的用户的所有 users_hobbies。