Ограничение ПЕРВИЧНОГО КЛЮЧА SQL
Ограничение ПЕРВИЧНОГО КЛЮЧА SQL
Ограничение PRIMARY KEY
однозначно идентифицирует каждую запись в таблице.
Первичные ключи должны содержать значения UNIQUE и не могут содержать значения NULL.
Таблица может иметь только ОДИН первичный ключ; а в таблице этот первичный ключ может состоять из одного или нескольких столбцов (полей).
ПЕРВИЧНЫЙ КЛЮЧ SQL при СОЗДАНИИ ТАБЛИЦЫ
Следующий 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). Однако ЗНАЧЕНИЕ первичного ключа состоит из ДВУХ СТОЛБЦ (ID + LastName).
ПЕРВИЧНЫЙ КЛЮЧ SQL на 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;