gpt4 book ai didi

mysql - 如果我们有 2 个唯一列,我们应该选择哪一列作为主键

转载 作者:行者123 更新时间:2023-11-29 12:19:47 26 4
gpt4 key购买 nike

我知道唯一键和主键之间的区别,如以下链接所述

http://sqlhints.com/2013/06/02/difference-between-primary-key-and-unique-key-in-sql-server/ difference between primary key and unique key

但我在面试中被问到了不同的问题,

If I have 2 columns in a table which can uniquely identify entries , say student's roll no and national id no. Then which one I'll select as primary key and what's the difference between primary and unique key if we add not null constraint on unique key.

对此有什么帮助吗?

提前致谢。

最佳答案

我是第三种方式的大力倡导者——拥有一个自动递增的整数主键。然后,您可以将唯一索引放在其他索引上。

这样的 key 可以提供多种功能。首先,它允许您确定记录的插入顺序——至少是近似的顺序。其次,它使外键引用更容易。我通常将此类列命名为 <tablename>Id ,这使得外部引用变得显而易见。

第三,整数是一种非常有效的索引机制(固定宽度值,通常是四个字节)。不可否认,它们确实在原始表中产生了一些开销,但这通常很小。

第四,这些列可能不适用。在美国,最接近国民身份证号码的是社会安全号码,并且不能保证它是唯一的。此外,可能有些在学校注册的学生没有这些数字——例如外国学生。

关于mysql - 如果我们有 2 个唯一列,我们应该选择哪一列作为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com