---
title: "主键约束 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 主键约束 主键值规则（Primary Key Value Rule）是定义在某一键 Key（键指一列或一个列集）上的规则，其作用是确保表内的每一数据行都可以由某一个键值唯一地确定。 ​每个数据库表上最多只能定义一个 PRIMARY KEY 约束。构成此约束的列（一列或多列）的值可以作为一行数据的唯一标识符，即每个数据…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 主键约束

更新时间：2026-07-15 15:16:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/100.oceanbase-database-concepts/400.database-objects/200.database-objects-of-mysql-mode/700.data-integrity-of-mysql-mode/200.integrity-constraint-type-of-mysql-mode/400.primary-key-constraint-of-mysql-mode.md)  

主键值规则（Primary Key Value Rule）是定义在某一键 Key（键指一列或一个列集）上的规则，其作用是确保表内的每一数据行都可以由某一个键值唯一地确定。

​每个数据库表上最多只能定义一个 `PRIMARY KEY` 约束。构成此约束的列（一列或多列）的值可以作为一行数据的唯一标识符，即每个数据行可以由此主键值命名。

​本文通过以下具体示例来介绍主键约束的主要特性。

```sql
obclient> CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT pk_c1_c2 PRIMARY KEY(c1, c2));
Query OK, 0 rows affected

obclient> INSERT INTO t1 VALUES(1, 1);
Query OK, 1 row affected

obclient> INSERT INTO t1 VALUES(1, 1);
OBE-00001: unique constraint '1-1' for key 'PK_C1_C2' violated

obclient> INSERT INTO t1 VALUES(null, 1);
OBE-01400: cannot insert NULL into '(C1)'

obclient> INSERT INTO t1 VALUES(null, null);
OBE-01400: cannot insert NULL into '(C1)'

```

​`PRIMARY KEY` 完整性约束（Integrity Constraint）能够确保表的数据遵从以下两个规则：

- 任意两行数据的 `PRIMARY KEY` 约束列（一列或多列）不存在重复值。
 - 主键列的值不为空。即用户必须为主键列输入值。

​数据库不强制用户为表定义主键，但使用主键可以使表内的每行数据可以被唯一确定，且不存在重复的数据行。

下图展示了定义在 `dept` 表上的 `PRIMARY KEY` 约束，以及违反此约束的数据行。`dept` 表内包含 3 列，分别是 `deptno`、`dname` 和 `loc`。在 `deptno` 列上定义了主键约束，则此列不能有重复数据，且不能为空。

图中还展示了两行因为违反主键约束而无法插入 `dept` 表的数据，一行数据的主键值与已有数据重复，另一行数据的主键列为空值。

![主键约束](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7853623461/p357489.jpg)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
