Php sql中表之间关系的优势是什么?

Php sql中表之间关系的优势是什么?,php,mysql,sql,relation,Php,Mysql,Sql,Relation,我做了三张桌子。 Table1=users。列名为userid(自动增量)和username 表2=爱好。列名为hobbyid(自动增量)和hobbyname 表3=用户爱好。列名是FK_userid和FK_hobbyid 现在,每当我从html表单注册新用户及其爱好时,我选择 根据表1和表2生成的相应用户ID和hoobyid 和使用查询将它们插入表3 那么,如果我在表1和表3以及表2和表3之间创建关系,那么关系的用途是什么呢? 相应的userid和hobbyid是否会自动转到表3,而不使用qu

我做了三张桌子。
Table1=users。列名为userid(自动增量)username
表2=爱好。列名为hobbyid(自动增量)hobbyname
表3=用户爱好。列名是FK_useridFK_hobbyid

现在,每当我从html表单注册新用户及其爱好时,我选择
根据表1和表2生成的相应用户ID和hoobyid

使用查询将它们插入表3

那么,如果我在表1和表3以及表2和表3之间创建关系,那么关系的用途是什么呢?

相应的userid和hobbyid是否会自动转到表3,而不使用query

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

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

为了保持这种完整性,还可以指定cascadings。(根据数据库系统的不同,我几乎不使用mysql,所以对此我不确定)


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

否,表3中的外键关系在允许在表3中创建条目之前验证表1中的用户记录和表2中的爱好记录是否存在。。。否则,最终会有大量孤立记录阻塞表2,因此这是一个自动验证;如果您对表1执行级联删除,它将自动为youthanks删除任何相关的表3记录!更新用户详细信息时,我确实遇到了孤立记录的问题…现在将使用关系。。