goo*_*ing 7 mysql sql foreign-keys primary-key
可能重复:
我应该使用外键吗?
好的,我们假设我们有两个表,users并且comments.在评论中,我们有一个列comment_made_by_user_id,它意味着哪个用户键入了该特定注释.为什么我们需要将其指定为外键?如果我们不这样做,它仍然会起作用.我们指定主键,因为据我所知它会使查询更快(我们只需要搜索一行,而当我们没有主键/索引时,我们必须遍历所有行).这只是一个很好的编码实践吗?
它在数据库中创建数据完整性.考虑删除用户,如果忘记使用单独的查询手动删除注释,则最终会有大量注释链接到无效用户.使用外键,您可以将其设置为在删除用户时自动删除所有注释(或更新更改,如果您更改用户ID).