0
在MSSQL中是有辦法的PK約束指定一個名稱,以便MSSQL不提供一個隨機生成的PK名稱,像這樣:指定創建表的過程PK名稱
PK__Addresse__3214EC074E88ABD4
的只有我能方式看到現在要做的是首先創建表,然後發出一個ALTER命令來重命名PK。如果我能夠一次完成,那將會更容易。
在MSSQL中是有辦法的PK約束指定一個名稱,以便MSSQL不提供一個隨機生成的PK名稱,像這樣:指定創建表的過程PK名稱
PK__Addresse__3214EC074E88ABD4
的只有我能方式看到現在要做的是首先創建表,然後發出一個ALTER命令來重命名PK。如果我能夠一次完成,那將會更容易。
是的。下面是其中SSMS生成語法:
CREATE TABLE [Address] (
[ID] [int] IDENTITY(1,1) NOT NULL,
<< columns here >>,
CONSTRAINT [PK_Address] PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
在創建表
CREATE TABLE MyTable
(
Id INT NOT NULL
CONSTRAINT PK_MyTable PRIMARY KEY (Id)
)
的時間,如果你需要改變表並添加一個主要約束
ALTER TABLE MyTable
ADD CONSTRAINT PK_MyTable PRIMARY KEY (Id)
希望這有助於
我會使用PK_MyTable。約束名稱(PK,FK,CK,DF等)在sys.objects中必須是唯一的,所以不能爲另一個表使用「PK_ID」。 – gbn 2009-11-30 05:55:44
正確的先生..我明白我的錯誤。謝謝 – 2009-11-30 06:26:54
我修改了 – 2009-11-30 06:27:48