Sql server 创建主键
我想知道我应该先在PK中放哪一列,[ID\u CHECK]或[ID\u CONTROL]Sql server 创建主键,sql-server,Sql Server,我想知道我应该先在PK中放哪一列,[ID\u CHECK]或[ID\u CONTROL] CREATE TABLE QUALITY_CONTROL ( [ID_CHECK] [int] NULL, [ID_CONTROL] [int] NOT NULL ) ALTER TABLE QUALITY_CONTROL ADD CONSTRAINT QUALITY_CONTROL_P01 PRIMARY KEY ([ID_CHECK], [ID_CONTROL]) 或 [
CREATE TABLE QUALITY_CONTROL
(
[ID_CHECK] [int] NULL,
[ID_CONTROL] [int] NOT NULL
)
ALTER TABLE QUALITY_CONTROL ADD CONSTRAINT QUALITY_CONTROL_P01 PRIMARY KEY ([ID_CHECK], [ID_CONTROL])
或
[ID_CHECK]列有更多重复的数据,我不知道这是否意味着什么
谢谢。数据是如何输入的?它通常是如何被查询的?IE是
select*from quality\u control,其中id\u check=@someid
一种常见的查询模式吗?感谢您的反馈。我真的不知道如何回答这些问题,你可以告诉我基本要点。谢谢。如果ID_检查有更多重复数据,以它开头的主键将不太有效,但是如果ID_控件很少用于识别(在<代码>连接<代码>的<代码>上的<代码>条件或<代码>中的<代码>条件)或订单(使用<代码>订单依据<代码>或<代码>分组依据<代码>子句)然后启动PK的数据几乎毫无意义。如果ID_控件的重复次数更少,引用频率更高,那么几乎可以肯定,用它开始键是最好的。在不知道典型用法的情况下,我们基本上只是猜测。这根本不起作用,因为ID\u CHECK
允许NULL
,因此不能成为主键的一部分
@BillTür对不起,我把它放错了,[ID CHECK][int]不是NULL
ALTER TABLE QUALITY_CONTROL
ADD CONSTRAINT QUALITY_CONTROL_P01 PRIMARY KEY ([ID_CONTROL], [ID_CHECK])