4

我做了三张桌子。
Table1=users。列名是userid (auto_increment)username
表2=爱好。列名是hobbyid (auto_increment)hobbyname
表 3=users_hobbies。列名是FK_useridFK_hobbyid

现在,每当我从 html 表单注册新用户和他/她的爱好时,我都会选择
从表 1 和表 2 生成的 相应用户 ID 和 hoobyid
使用查询将它们插入表 3

那么,如果我在表 1 和 3 以及表 2 和 3 之间创建关系,那么关系有什么用呢?
对应的 userid 和 hobbyid 会自动转到表 3而不使用 query吗?

4

1 回答 1

10

不,userid 和 hobbyid 不会自动转到任何地方。

关系或约束的主要点是强制数据完整性。这意味着如果没有 id 为 2 的用户和 id 为 2 的爱好,您将无法将包含 id 2、2 的条目添加到 users_hobbies 表中。

为了保持这种完整性,您还可以指定级联。(取决于数据库系统,我几乎不使用 mysql,所以我不确定)。

这意味着,如果用户本人被删除,您可以指定删除 id 为 1 的用户的所有 users_hobbies。

于 2012-06-17T16:57:34.780 回答