SQL Server 2008:
DECLARE @MyTable TABLE(
PersonID INT NOT NULL,
Person2ID INT NOT NULL,
Description NVARCHAR(100),
CONSTRAINT PK PRIMARY KEY CLUSTERED (PersonID, Person2ID)
);
Run Code Online (Sandbox Code Playgroud)
得到:
Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'CONSTRAINT'.
Run Code Online (Sandbox Code Playgroud)
有没有办法在Table值变量中使用复合主键?
如何在SQL Server 2008中添加复合主键?
我有一张桌子如下.
testRequest (wardNo nchar(5)
, BHTNo nchar(5)
, testID nchar(5)
, reqDateTime datetime);
Run Code Online (Sandbox Code Playgroud)
我需要wardNo, BHTNo并testID成为一个复合主键.
如何在SQL Server Management Studio中执行此操作?
我想在我的数据表中使三列是唯一的
-----------------------------------
Column A | Column B | Column C
----------------------------------
Kasun Cham Nimith
----------------------------------
Kasun Cham Rox - This row ok and must be allowed to add.
----------------------------------
Kasun Cham Nimith - but This row must not be allowed to add again,
---------------------------------
Run Code Online (Sandbox Code Playgroud)
我怎样才能在SQL Server中实现这一目标?
我正在阅读有关主键和许多教程,技术博客等的内容,我发现主键可以为空的答案.我认为这是完全错误的,因为我能够在列中插入空值.我想只有当列被声明为非null时,主键才能具有非null值.但同样,这不是主键的功能.
我的另一个问题是,为什么我们有一个主键的概念,因为我发现主键和唯一键之间只有一个区别是"主键只能在一列上声明,而唯一键可以在多列上声明".所以我的理解是,如果我们没有任何其他差异,为什么我们也不能将主键声明为唯一键.