MariaDB PRIMARY KEY 约束用于确保表列中的所有值都是唯一且非空的。一张表只能有一个 PRIMARY KEY 约束,一个主键可以由一列或多列(字段)组成。

MariaDB CREATE TABLE PRIMARY KEY 约束

下面提到的语句创建一个名为 Employee 的表,其中包含五列:EmpID、Name、City、Age 和 Salary,其中 PRIMARY KEY 约束应用于列 EmpID。

CREATE TABLE Employee (
  EmpID INT NOT NULL PRIMARY KEY,
  Name VARCHAR(255),
  City VARCHAR(100),
  Age INT,
  Salary DECIMAL(18,2)
); 

或者,也可以按如下方式创建:

CREATE TABLE Employee (
  EmpID INT NOT NULL,
  Name VARCHAR(255),
  City VARCHAR(100),
  Age INT,
  Salary DECIMAL(18,2),
  PRIMARY KEY(EmpID)
); 

为 PRIMARY KEY 约束提供名称,并在多个列上定义 PRIMARY KEY 约束(例如 EmpID 和 Name),该语句如下:

CREATE TABLE Employee (
  EmpID INT NOT NULL,
  Name VARCHAR(255),
  City VARCHAR(100),
  Age INT,
  Salary DECIMAL(18,2),
  CONSTRAINT PK_Employee PRIMARY KEY(EmpID, Name)
); 

MariaDB ALTER TABLE PRIMARY KEY 约束

在上面的示例中,创建了一个名为 Employee 的表。要对 EmpID 列强制执行 PRIMARY KEY 约束,语句如下:

ALTER TABLE Employee
ADD PRIMARY KEY (EmpID); 

为 PRIMARY KEY 约束提供名称,并定义 PRIMARY KEY 约束对于多个列(例如 EmpID 和 Name),语句如下:

ALTER TABLE Employee
ADD CONSTRAINT PK_Employee PRIMARY KEY (EmpID, Name); 

删除PRIMARY KEY 约束

从Employee表中删除PK_Employee PRIMARY KEY约束,语句如下:

ALTER TABLE Employee
DROP PRIMARY KEY;