Главная SQL Primary Key
E-mail Печать PDF

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

Первичный ключ должен содержать уникальные значения.

Первичный ключ не может содержать NULL значений.

Каждая таблица должна иметь первичный ключ, и каждая таблица может иметь только один первичный ключ.

SQL PRIMARY KEY Ограничения при CREATE TABLE

Следующие SQL создает PRIMARY KEY ограничитель в колонке "P_Id", при создании таблицы "Persons":

MySQL:

1
2
3
4
5
6
7
8
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:

1
2
3
4
5
6
7
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 на несколько столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

1
2
3
4
5
6
7
8
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)
)

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

Следующие SQL создает PRIMARY KEY ограничитель в колонке "P_Id", когда таблица "Persons" уже создана:

MySQL / SQL Server / Oracle / MS Access:

1
2
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

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

MySQL / SQL Server / Oracle / MS Access:

1
2
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

Note - Замечание: Если вы используете запрос ALTER TABLE чтобы добавить первичный ключ, столбец для первичного ключа должен не содержать NULL значения.

Удаление PRIMARY KEY

Для удаления ограничителя PRIMARY KEY используйте следующий SQL:

MySQL:

1
2
ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

1
2
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

Комментарии

 
-1 #1 Milton Junior 2011-03-28 22:16 Rapaz, eu to iniciando precisava que as coisa estivessem dispostas dessa forma, valeu mesmo!
Gostei muito!
Цитировать
 
 
-4 #2 nguyenthephong 2011-04-25 04:04 sửa khóa chính khồn được, tôi xóa hoài mà khồn tai nào xóa được, ma no baos nỗi nbhuw sau xin chỉ giao nha!!
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'primary'.
Цитировать
 
 
0 #3 km 2011-12-20 13:58 Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама