PRIMARY KEY 约束
PRIMARY KEY(主键) 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
MySQL主键示例
CREATE TABLE users
(
user_id int NOT NULL,
username varchar(255) NOT NULL,
city varchar(255),
PRIMARY KEY (user_id)
)
MS Server/Oracle示例
适用于MS SQLServer、Oracle、Access
CREATE TABLE users
(
user_id int NOT NULL PRIMARY KEY,
username varchar(255) NOT NULL,
city varchar(255)
)
可以对PRIMARY KEY 约束命名,另外也可以在多个列上定义PRIMARY KEY 约束
CREATE TABLE users
(
user_id int NOT NULL,
username varchar(255) NOT NULL,
city varchar(255),
CONSTRAINT pk_uid PRIMARY KEY (user_Id, username)
)
注释:在上面的实例中,只有一个主键 PRIMARY KEY(pk_uid)。然而,pk_uid 的值是由两个列(user_id和username)组成的。
更改主键约束
当表已被创建时,如需在 "user_id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:
ALTER TABLE users
ADD PRIMARY KEY (user_id)
如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:
ALTER TABLE users
ADD CONSTRAINT pk_uid PRIMARY KEY (user_id, username)
注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。
撤销主键约束
如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:
MySQL
ALTER TABLE users
DROP PRIMARY KEY
SQL Server / Oracle / MS Access
ALTER TABLE users
DROP CONSTRAINT pk_uid
讨论区