回答

收藏

为什么要用外键?

技术问答 技术问答 252 人阅读 | 0 人回复 | 2023-09-14

假设我们有两个表,users和comments。我们有一列评论comment_made_by_user_id,这意味着哪个用户输入了特定的评论。为什么我们需要将其指定为外部键?如果我们不这样做,它仍然会有效。我们指定主键,因为据我所知,它可以使查询更快(我们只需要搜索一行,当我们没有主键/索引时,我们必须遍历所有行)。这只是编码的好习惯吗?5 E8 O0 k( {' o* y$ C
                                                                6 v$ U' a! ~" u, Y$ C, e. J% l9 m
    解决方案:                                                               
# x  F' c/ @8 H' R# W; w6 Z" g, Y                                                                使用外键时,您会得到:0 i; w5 x& j& H/ t3 X. Z: A
[ol]数据的完整性# `  o! S; k4 T+ X& d
查询速度更快。[/ol]用户:, z' L6 u) y8 F8 F0 N1 I' R  X
用户ID:( c4 U2 `6 r- o( b: Y& s
1个% Y/ t  l+ W/ I) i# v
2个6 U( u* z  s/ T; M( V
3
评论:
9 W$ y& ]6 H7 o用户:
' F; m( k' n8 I1个- W8 L! T# n- y: z  Q0 R
2个1 E; E! `, c+ l$ r' f
4个XXX无效,因为用户表中没有4个。
请阅读 维基百科,4 G/ |0 h  y  U& P  W. a
为了获多关于数据完整性的详细信息
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则