SQL PRIMARY KEYОграничения
Ограничение PRIMARY KEY в SQL
Ограничение PRIMARY KEY уникально идентифицирует каждую запись в таблице базы данных.
PRIMARY KEY должен содержать уникальные значения и не может содержать значения NULL.
Каждая таблица может иметь только один PRIMARY KEY, который может состоять из одного столбца или нескольких столбцов.
Ограничение PRIMARY KEY в SQL при 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). Однако значение pk_PersonID состоит из двух столбцов (P_Id и LastName).
Ограничение PRIMARY KEY в SQL при 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 для добавления первичного ключа, вы должны объявить столбец первичного ключа как не содержащий значений 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Другие расширения