0

私はVisual Studio 2015でデータベースプロジェクトを持っています。私はプライマリキーに名前を付けることを望みますが、それはすべての試みを無視するようです。動作しますが、デフォルトの制約に名前を付けます。VSデータベースプロジェクトプライマリキー名

CREATE TABLE [dbo].[Stock] 
(
    [Id] INT CONSTRAINT [PK_Stock_Id] NOT NULL PRIMARY KEY, 
    [StockCode] NVARCHAR(6) NOT NULL, 
    [CreatedDate] DATETIME2 CONSTRAINT [DF_Stock_CreatedDate] DEFAULT sysutcdatetime() NOT NULL 
) 
GO 

プライマリキーをクリックすると、名前プロパティもありますが、読み取り専用です。 SQL Serverに公開するのではなく、スクリプトを作成するだけで、主キーの制約と名前を取り除くことができます。

答えて

0

これがあなたのために働くだろう:

CREATE TABLE [dbo].[Stock] 
(
[Id] INT NOT NULL, 
[StockCode] NVARCHAR(6) NOT NULL, 
[CreatedDate] DATETIME2 NOT NULL 
) 
GO 

ALTER TABLE dbo.Stock ADD CONSTRAINT 
DF_Stock_CreatedDate DEFAULT GETDATE() FOR CreatedDate 
GO 

ALTER TABLE dbo.Stock ADD CONSTRAINT 
PK_Stock_Id PRIMARY KEY CLUSTERED 
(
Id 
) 
GO 
+0

おかげで、別のステップとしてそれをやって考えましたが、ラインソリューションでの素敵な存在かもしれないと思いました。 Visual Studioは実際にそのビットを適切に拾い上げ、インターフェイス内の主キーの名前を表示します。私はデフォルトの制約を私が持っているものから変更する必要はないと思います。 – DasDave

+0

PKおよびFK制約定義は、インラインで実行するときにすべての列定義の後に進みます。それをそのままにしてGUIを使用してPKを追加すると、名前が付けられていないPK制約が適用されます。名前が必要な場合は、CONSTRAINT pk_name PRIMARY KEY構文を使用して名前を追加するようにSQLを編集する必要があります(本当に必要です)。 –