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;