Ограничение PRIMARY KEY SQL

Ограничение PRIMARY KEY SQL

Ограничение PRIMARY KEY уникально идентифицирует каждую запись в базе данных таблицы.

PRIMARY KEY должен содержать уникальные значения.

Столбец PRIMARY KEY не может содержать значения NULL.

Каждая таблица должна иметь один ключ PRIMARY KEY, и каждая таблица может иметь только один ключ PRIMARY KEY.

PRIMARY KEY Ограничение при создании таблицы

Ниже приведен SQL, который создает PRIMARY KEY ограничение в столбце "Id_P" при создании таблицы "Persons":

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P 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
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
)

Ограничение PRIMARY KEY SQL в ALTER TABLE

Если нужно создать ограничение PRIMARY KEY для столбца "Id_P" в уже существующей таблице, используйте следующее SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)

Если нужно命名 ограничение PRIMARY KEY и определить ограничение PRIMARY KEY для нескольких столбцов, используйте следующую SQL-грамматику:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,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