محدودیت primary key در SQL
محدودیت PRIMARY KEY (کلید اصلی):
PRIMARY KEY هر رکورد در پایگاه داده را به طور منحصر به فردی مشخص می کند.
PRIMARY KEY باید دارای مقادیر منحصر به فردی باشند.
ستون PRIMARY KEY نمی تواند حاوی مقدار خالی باشد.
هر جدول باید حاوی یک PRIMARY KEY باشد و هر جدول تنها می تواند یک PRIMARY KEY داشته باشد.
محدودیت PRIMARY KEY در دستور CREATE TABLE
دستور زیر در ستون P_Id هنگامی که جدول Persons ایجاد می شود کلید اصلی را تعیین می کند:
در MySQL:
(
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:
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
برای تعریف محدودیت PRIMARY KEY روی ستون های ترکیبی (ترکیب دو یا چند ستون) از دستور زیر استفاده کنید (منظور این است که چند ستون با هم به عنوان کلید اصلی باشند)
در MySQL / SQL Server / Oracle / MS Access:
(
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)
)
نکته: در مثال بالا تنها یک کلید اصلی وجود دارد (pk_PersonID) اما مقدار آن از دو ستون (P_Id و LastName) تشکیل شده که با هم کلید اصلی را می سازند.
محدودیت PRIMARY KEY در دستور ALTER TABLE
برای ایجاد محدودیت PRIMARY KEY روی ستون P_Id هنگامی که جدول قبلا ایجاد شده از دستور زیر استفاده می کنیم.
در MySQL / SQL Server / Oracle / MS Access:
ADD PRIMARY KEY (P_Id)
برای اضافه کردن محدودیت PRIMARY KEY روی ستون های ترکیبی( ترکیب دو یا چند ستون) از دستور زیر استفاده کنید
در MySQL / SQL Server / Oracle / MS Access:
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
توجه:اگر از دستور ALTER TABLE برای ایجاد primary key استفاده می کنید، ستون(های) primary key باید قبلا خالی نبوده باشند (وقتی که جدول قبلا ایجاد شده است)
حذف محدودیت PRIMARY KEY
برای حذف محدودیت PRIMARY KEY از دستور زیر استفاده می کنیم.
در MySQL:
DROP PRIMARY KEY
در SQL Server / Oracle / MS Access:
DROP CONSTRAINT pk_PersonID
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.
- نوشته شده توسط مهندس تمیزی
- بازدید: 30784
دیدگاهها
وقتی کلید اصلی عدد نیست چگونه به عدد در کوئری تبدیل کنیم؟
از تابع Cast استفاده کنید.
مثلا کلید اصلی میتونه نال (null) باشه؟
فکر کنم کلید اصلی نمی تونه غیر عدد باشه.
کلید اصلی نمی تواند null باشد. در خط سوم از پاراگراف اول همین مقاله به این موضوع اشاره شده است. در واقع منظور از : کلید اصلی نمی تواند حاوی مقدار خالی باشد، این است که: کلید اصلی نمی تواند null باشد. در منبع اصلی(w3schools) به این موضوع اشاره شده است: www.w3schools.com/sql/sql_primarykey.asp
1. آيا كليد اصلي مي تواند غير عدد باشد ؟
بله کلید اصلی می تواند غیر عدد هم باشد.