我想在SQL Server 2008中创建表,但我不知道如何创建复合主键.我怎样才能做到这一点?
如何使用SQL Server Management Studio创建复合键?
我想要两个INT列来形成表的标识(唯一)
我有一张桌子:
Id PersonId Phone IsPrimary
-----------------------------------
1 1 12345 1
2 1 55555 0
3 2 66666 1
4 3 77777 1
5 3 88888 0
6 3 99999 0
Run Code Online (Sandbox Code Playgroud)
如何创建约束,允许在每个PersonId中只插入一个IsPrimary = 1.对于所有PersonId,只有一个IsPrimary = 1.因此,在结果中我将无法插入下一条记录:
Id PersonId Phone IsPrimary
-----------------------------------
1 1 00000 1
Run Code Online (Sandbox Code Playgroud) 例如,我的OrderID表中的OrderID和ProductID充当单个主键.我只是不确定如何用SQL做到这一点.
例:
CREATE TABLE [Order Details]
(
[OrderID] [int] IDENTITY(1,1) NOT NULL,
[ProductID] [int] NOT NULL,
...
)
Run Code Online (Sandbox Code Playgroud)
我可以在NOT NULL之后简单地将PRIMARY KEY添加到两行中,使它们成为主键吗?