SQL PRIMARY KEY Обмеження
SQL PRIMARY KEY Обмеження
Обмеження PRIMARY KEY
унікально визначає кожен запис у таблиці.
Первинні ключі мають містити УНІКАЛЬНІ значення та не можуть містити значення NULL.
Таблиця може мати лише ОДИН первинний ключ; а в таблиці цей первинний ключ може складатися з одного або кількох стовпців (полів).
SQL PRIMARY KEY на CREATE TABLE
Наступний SQL створює PRIMARY KEY
для "ID" м "Persons" створенної таблиці:
MySQL:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Щоб дозволити іменування обмеження PRIMARY KEY
і для визначення обмеження PRIMARY KEY
для кількох стовпців, використовуйте наступний синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Примітка: У прикладі вище є лише ОДИН PRIMARY KEY
(PK_Person). Однак VALUE первинного ключа складається з ДВОХ СТОВПЦІВ (ID + LastName).
SQL PRIMARY KEY на ALTER TABLE
Щоб створити обмеження PRIMARY KEY
для стовпця "ID", коли таблицю вже створено, використовуйте такий SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Щоб дозволити іменування обмеження PRIMARY KEY
і для визначення обмеження PRIMARY KEY
для кількох стовпців, використовуйте наступний синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Примітка: Якщо ви використовуєте ALTER TABLE
для додавання первинного ключа, стовпці первинного ключа мають бути оголошені такими, що не містять NULL-значень (під час створення таблиці).
Видалити PRIMARY KEY обмеження
Щоб видалити обмеження PRIMARY KEY
, скористайтеся таким SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;