- 主键列不能包含 NULL 值
- 主键列必须唯一
在 MySQL 中,可以使用以下语法创建主键:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
PRIMARY KEY (one or more columns)
);
例如,下面的语句创建一个名为 “Persons” 的表,并将 “ID” 列作为主键:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
MySQL 联合主键
有时候,一个表中的每个行不能通过唯一的单个值来区分,因此需要使用联合主键。联合主键是指使用两个或多个列作为表的主键。在 MySQL 中,可以使用以下语法创建联合主键:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
PRIMARY KEY (column1, column2)
);
在上面的语法中,使用了两个列 “column1” 和 “column2” 来创建联合主键。例如,下面的语句创建了一个名为 “Person” 的表,并使用 “ID” 和 “LastName” 列作为联合主键:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID, LastName)
);
在实际使用联合主键时,需要了解一些限制。首先,联合主键的列不能包含 NULL 值,因为 NULL 值不满足唯一性要求;其次,如果表中有一个自增列,则应将其定义为第一个列。