سؤال

في MSSQL هل هناك طريقة لتحديد اسم لالقيد PK حتى MSSQL لا توفر اسم 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)

ويساعد هذا الأمل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top