گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/05 - 11:34
كد :250
PRIMARY KEY هر رکورد از جدول یک پایگاه داده را به صورت منحصر به فردی مشخص می کند.
Primary key ها باید شامل مقادیر منحصر به فرد باشند.
ستون Primary key نمی تواند حاوی مقادیر NULL باشد.
اکثر جدول ها باید یک کلید اصلی ( Primary key ) داشته باشند و هر جدول می تواند فقط یک Primary key داشته باشد.
محدودیت PRIMARY KEY در دستور CREATE TABLE :
دستور SQL زیر یک Primary key را روی ستون "P_Id" در زمان ساختن جدول "Persons" ایجاد می کند:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
برای نام گذاری یک محدودیت PRIMARY KEY و برای تعریف کردن یک محدودیت PRIMARY KEY روی چندین ستون(ترکیب دو یا چند ستون)از دستور SQL زیر استفاده کنید (منظور این است که چند ستون با هم به عنوان کلید اصلی باشند):
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
نکته : در مثال بالا تنها یک PRIMARY KEY وجود دارد (pk_PersonID).اما مقدار primary key از دو ستون (P_Id + LastName) تشکیل شده است که با هم کلید اصلی را می سازند:
PRIMARY KEY در ALTER TABLE (تغییر جدول) :
برای ایجاد یک PRIMARY KEY روی ستون "P_Id" در زمانیکه جدول از قبل ساخته شده است،از دستور SQL زیر استفاده کنید :
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
برای نام گذاری یک محدودیت PRIMARY KEY و برای تعریف کردن یک محدودیت PRIMARY KEY روی چندین ستون از دستور SQL زیر استفاده کنید :
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
نکته : اگر از عبارت ALTER TABLE برای اضافه کردن primary key استفاده می کنید، باید از قبل (اولین باری که جدول ساخته شده بود ) برای ستون های primary key تعیین شده باشد که مقدار NULL را نپذیرند.
برداشتن محدودیت PRIMARY KEY :
برای برداشتن یک محدودیت PRIMARY KEY از دستور SQL زیر استفاده کنید :
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID