显示约束

要列出带有默认输出列的所有约束,请使用 SHOW CONSTRAINTS。如果需要所有列,请使用 SHOW CONSTRAINTS YIELD *。有关列出约束的完整命令语法,请参阅 语法 → 显示约束。此页面上列出的约束是在 创建约束 页面中创建的。

设置图类型 时创建的所有约束都将由 SHOW CONSTRAINTS 命令返回。同样,使用 CREATE CONSTRAINT 语法创建的所有约束都将由 SHOW CURRENT GRAPH TYPE 命令返回。有关更多信息,请参阅 显示图类型 页面的以下部分:

SHOW CONSTRAINTS 的输出列之一是约束的名称。这可用于通过 DROP CONSTRAINT 命令 删除约束。

列出约束需要 SHOW CONSTRAINTS 权限
示例 1. 列出所有带有默认输出列的约束
查询
SHOW CONSTRAINTS
结果
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | name                     | type                               | entityType     | labelsOrTypes  | properties                   | enforcedLabel | ownedIndex              | propertyType                     |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 28 | "actor_fullname"         | "NODE_KEY"                         | "NODE"         | ["Actor"]      | ["firstname", "surname"]     | NULL          | "actor_fullname"        | NULL                             |
| 27 | "author_name"            | "NODE_PROPERTY_EXISTENCE"          | "NODE"         | ["Author"]     | ["name"]                     | NULL          | NULL                    | NULL                             |
| 34 | "book_isbn"              | "NODE_PROPERTY_UNIQUENESS"         | "NODE"         | ["Book"]       | ["isbn"]                     | NULL          | "book_isbn"             | NULL                             |
| 23 | "book_title_year"        | "NODE_PROPERTY_UNIQUENESS"         | "NODE"         | ["Book"]       | ["title", "publicationYear"] | NULL          | "book_title_year"       | NULL                             |
| 36 | "director_imdbId"        | "NODE_KEY"                         | "NODE"         | ["Director"]   | ["imdbId"]                   | NULL          | "director_imdbId"       | NULL                             |
| 26 | "knows_since_how"        | "RELATIONSHIP_KEY"                 | "RELATIONSHIP" | ["KNOWS"]      | ["since", "how"]             | NULL          | "knows_since_how"       | NULL                             |
| 12 | "movie_tagline"          | "NODE_PROPERTY_TYPE"               | "NODE"         | ["Movie"]      | ["tagline"]                  | NULL          | NULL                    | "STRING | LIST<STRING NOT NULL>" |
| 33 | "movie_title"            | "NODE_PROPERTY_TYPE"               | "NODE"         | ["Movie"]      | ["title"]                    | NULL          | NULL                    | "STRING"                         |
| 17 | "node_uniqueness_param"  | "NODE_PROPERTY_UNIQUENESS"         | "NODE"         | ["Book"]       | ["prop1"]                    | NULL          | "node_uniqueness_param" | NULL                             |
| 2  | "node_vector_constraint" | "NODE_PROPERTY_TYPE"               | "NODE"         | ["Movie"]      | ["embedding"]                | NULL          | NULL                    | "VECTOR<INTEGER32 NOT NULL>(42)" |
| 38 | "ownershipId"            | "RELATIONSHIP_KEY"                 | "RELATIONSHIP" | ["OWNS"]       | ["ownershipId"]              | NULL          | "ownershipId"           | NULL                             |
| 41 | "part_of"                | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["PART_OF"]    | ["order"]                    | NULL          | NULL                    | "INTEGER"                        |
| 39 | "part_of_tags"           | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["PART_OF"]    | ["tags"]                     | NULL          | NULL                    | "STRING | LIST<STRING NOT NULL>" |
| 24 | "prequels"               | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "RELATIONSHIP" | ["PREQUEL_OF"] | ["order", "author"]          | NULL          | "prequels"              | NULL                             |
| 30 | "rel_exist_param"        | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "RELATIONSHIP" | ["WROTE"]      | ["published"]                | NULL          | NULL                    | NULL                             |
| 3  | "rel_vector_constraint"  | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["CONTAINS"]   | ["embedding"]                | NULL          | NULL                    | "VECTOR<FLOAT32 NOT NULL>(1536)" |
| 19 | "sequels"                | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "RELATIONSHIP" | ["SEQUEL_OF"]  | ["order"]                    | NULL          | "sequels"               | NULL                             |
| 14 | "wrote_year"             | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "RELATIONSHIP" | ["WROTE"]      | ["year"]                     | NULL          | NULL                    | NULL                             |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
示例 2. 列出所有约束的完整详细信息

要返回数据库上约束的完整详细信息,请使用 SHOW CONSTRAINTS YIELD *

使用 YIELD * 列出所有约束
SHOW CONSTRAINTS YIELD *
结果
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | name                     | type                               | entityType     | labelsOrTypes  | properties                   | enforcedLabel | classification | ownedIndex              | propertyType                     | options           | createStatement                                                                                                                   |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 28 | "actor_fullname"         | "NODE_KEY"                         | "NODE"         | ["Actor"]      | ["firstname", "surname"]     | NULL          | "undesignated" | "actor_fullname"        | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `actor_fullname` FOR (n:`Actor`) REQUIRE (n.`firstname`, n.`surname`) IS KEY"                                  |
| 27 | "author_name"            | "NODE_PROPERTY_EXISTENCE"          | "NODE"         | ["Author"]     | ["name"]                     | NULL          | "independent"  | NULL                    | NULL                             | NULL              | "CREATE CONSTRAINT `author_name` FOR (n:`Author`) REQUIRE (n.`name`) IS NOT NULL"                                                 |
| 34 | "book_isbn"              | "NODE_PROPERTY_UNIQUENESS"         | "NODE"         | ["Book"]       | ["isbn"]                     | NULL          | "undesignated" | "book_isbn"             | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `book_isbn` FOR (n:`Book`) REQUIRE (n.`isbn`) IS UNIQUE"                                                       |
| 23 | "book_title_year"        | "NODE_PROPERTY_UNIQUENESS"         | "NODE"         | ["Book"]       | ["title", "publicationYear"] | NULL          | "undesignated" | "book_title_year"       | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `book_title_year` FOR (n:`Book`) REQUIRE (n.`title`, n.`publicationYear`) IS UNIQUE"                           |
| 36 | "director_imdbId"        | "NODE_KEY"                         | "NODE"         | ["Director"]   | ["imdbId"]                   | NULL          | "undesignated" | "director_imdbId"       | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `director_imdbId` FOR (n:`Director`) REQUIRE (n.`imdbId`) IS KEY"                                              |
| 26 | "knows_since_how"        | "RELATIONSHIP_KEY"                 | "RELATIONSHIP" | ["KNOWS"]      | ["since", "how"]             | NULL          | "undesignated" | "knows_since_how"       | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `knows_since_how` FOR ()-[r:`KNOWS`]-() REQUIRE (r.`since`, r.`how`) IS KEY"                                   |
| 12 | "movie_tagline"          | "NODE_PROPERTY_TYPE"               | "NODE"         | ["Movie"]      | ["tagline"]                  | NULL          | "independent"  | NULL                    | "STRING | LIST<STRING NOT NULL>" | NULL              | "CREATE CONSTRAINT `movie_tagline` FOR (n:`Movie`) REQUIRE (n.`tagline`) IS :: STRING | LIST<STRING NOT NULL>"                    |
| 33 | "movie_title"            | "NODE_PROPERTY_TYPE"               | "NODE"         | ["Movie"]      | ["title"]                    | NULL          | "independent"  | NULL                    | "STRING"                         | NULL              | "CREATE CONSTRAINT `movie_title` FOR (n:`Movie`) REQUIRE (n.`title`) IS :: STRING"                                                |
| 17 | "node_uniqueness_param"  | "NODE_PROPERTY_UNIQUENESS"         | "NODE"         | ["Book"]       | ["prop1"]                    | NULL          | "undesignated" | "node_uniqueness_param" | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `node_uniqueness_param` FOR (n:`Book`) REQUIRE (n.`prop1`) IS UNIQUE"                                          |
| 2  | "node_vector_constraint" | "NODE_PROPERTY_TYPE"               | "NODE"         | ["Movie"]      | ["embedding"]                | NULL          | "independent"  | NULL                    | "VECTOR<INTEGER32 NOT NULL>(42)" | NULL              | "CREATE CONSTRAINT `node_vector_constraint` FOR (n:`Movie`) REQUIRE (n.`embedding`) IS :: VECTOR<INTEGER32 NOT NULL>(42)"         |
| 38 | "ownershipId"            | "RELATIONSHIP_KEY"                 | "RELATIONSHIP" | ["OWNS"]       | ["ownershipId"]              | NULL          | "undesignated" | "ownershipId"           | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `ownershipId` FOR ()-[r:`OWNS`]-() REQUIRE (r.`ownershipId`) IS KEY"                                           |
| 41 | "part_of"                | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["PART_OF"]    | ["order"]                    | NULL          | "independent"  | NULL                    | "INTEGER"                        | NULL              | "CREATE CONSTRAINT `part_of` FOR ()-[r:`PART_OF`]-() REQUIRE (r.`order`) IS :: INTEGER"                                           |
| 39 | "part_of_tags"           | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["PART_OF"]    | ["tags"]                     | NULL          | "independent"  | NULL                    | "STRING | LIST<STRING NOT NULL>" | NULL              | "CREATE CONSTRAINT `part_of_tags` FOR ()-[r:`PART_OF`]-() REQUIRE (r.`tags`) IS :: STRING | LIST<STRING NOT NULL>"                |
| 24 | "prequels"               | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "RELATIONSHIP" | ["PREQUEL_OF"] | ["order", "author"]          | NULL          | "undesignated" | "prequels"              | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `prequels` FOR ()-[r:`PREQUEL_OF`]-() REQUIRE (r.`order`, r.`author`) IS UNIQUE"                               |
| 30 | "rel_exist_param"        | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "RELATIONSHIP" | ["WROTE"]      | ["published"]                | NULL          | "independent"  | NULL                    | NULL                             | NULL              | "CREATE CONSTRAINT `rel_exist_param` FOR ()-[r:`WROTE`]-() REQUIRE (r.`published`) IS NOT NULL"                                   |
| 3  | "rel_vector_constraint"  | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["CONTAINS"]   | ["embedding"]                | NULL          | "independent"  | NULL                    | "VECTOR<FLOAT32 NOT NULL>(1536)" | NULL              | "CREATE CONSTRAINT `rel_vector_constraint` FOR ()-[r:`CONTAINS`]-() REQUIRE (r.`embedding`) IS :: VECTOR<FLOAT32 NOT NULL>(1536)" |
| 19 | "sequels"                | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "RELATIONSHIP" | ["SEQUEL_OF"]  | ["order"]                    | NULL          | "undesignated" | "sequels"               | NULL                             | {indexConfig: {}} | "CREATE CONSTRAINT `sequels` FOR ()-[r:`SEQUEL_OF`]-() REQUIRE (r.`order`) IS UNIQUE"                                             |
| 14 | "wrote_year"             | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "RELATIONSHIP" | ["WROTE"]      | ["year"]                     | NULL          | "independent"  | NULL                    | NULL                             | NULL              | "CREATE CONSTRAINT `wrote_year` FOR ()-[r:`WROTE`]-() REQUIRE (r.`year`) IS NOT NULL"                                             |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

通过过滤列出约束

SHOW CONSTRAINTS 命令可以通过多种方式进行过滤。可以使用约束类型关键字或 WHERE 子句进行行过滤,而列过滤则通过在 YIELD 子句中指定所需的列来实现。

示例 3. 仅列出特定的约束类型
仅列出键约束
SHOW KEY CONSTRAINTS
结果
+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | name              | type               | entityType     | labelsOrTypes | properties               | enforcedLabel | ownedIndex        | propertyType |
+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 28 | "actor_fullname"  | "NODE_KEY"         | "NODE"         | ["Actor"]     | ["firstname", "surname"] | NULL          | "actor_fullname"  | NULL         |
| 36 | "director_imdbId" | "NODE_KEY"         | "NODE"         | ["Director"]  | ["imdbId"]               | NULL          | "director_imdbId" | NULL         |
| 26 | "knows_since_how" | "RELATIONSHIP_KEY" | "RELATIONSHIP" | ["KNOWS"]     | ["since", "how"]         | NULL          | "knows_since_how" | NULL         |
| 38 | "ownershipId"     | "RELATIONSHIP_KEY" | "RELATIONSHIP" | ["OWNS"]      | ["ownershipId"]          | NULL          | "ownershipId"     | NULL         |
+------------------------------------------------------------------------------------------------------------------------------------------------------------+

有关此命令中可用的所有约束类型(及同义词)的完整列表,请参阅 语法 → SHOW CONSTRAINTS

示例 4. 使用 WHERE 子句过滤约束
仅列出 entityTypeRELATIONSHIP 的约束
SHOW CONSTRAINTS
WHERE entityType = 'RELATIONSHIP'
结果
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | name                    | type                               | entityType     | labelsOrTypes  | properties          | enforcedLabel | ownedIndex        | propertyType                     |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 26 | "knows_since_how"       | "RELATIONSHIP_KEY"                 | "RELATIONSHIP" | ["KNOWS"]      | ["since", "how"]    | NULL          | "knows_since_how" | NULL                             |
| 38 | "ownershipId"           | "RELATIONSHIP_KEY"                 | "RELATIONSHIP" | ["OWNS"]       | ["ownershipId"]     | NULL          | "ownershipId"     | NULL                             |
| 41 | "part_of"               | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["PART_OF"]    | ["order"]           | NULL          | NULL              | "INTEGER"                        |
| 39 | "part_of_tags"          | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["PART_OF"]    | ["tags"]            | NULL          | NULL              | "STRING | LIST<STRING NOT NULL>" |
| 24 | "prequels"              | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "RELATIONSHIP" | ["PREQUEL_OF"] | ["order", "author"] | NULL          | "prequels"        | NULL                             |
| 30 | "rel_exist_param"       | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "RELATIONSHIP" | ["WROTE"]      | ["published"]       | NULL          | NULL              | NULL                             |
| 3  | "rel_vector_constraint" | "RELATIONSHIP_PROPERTY_TYPE"       | "RELATIONSHIP" | ["CONTAINS"]   | ["embedding"]       | NULL          | NULL              | "VECTOR<FLOAT32 NOT NULL>(1536)" |
| 19 | "sequels"               | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "RELATIONSHIP" | ["SEQUEL_OF"]  | ["order"]           | NULL          | "sequels"         | NULL                             |
| 14 | "wrote_year"            | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "RELATIONSHIP" | ["WROTE"]      | ["year"]            | NULL          | NULL              | NULL                             |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
示例 5. 返回所有约束的特定列

可以使用 YIELD 子句仅返回可用约束的特定列。

仅列出 nametypecreateStatement
SHOW CONSTRAINTS
YIELD name, type, createStatement
结果
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name                     | type                               | createStatement                                                                                                                   |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| "actor_fullname"         | "NODE_KEY"                         | "CREATE CONSTRAINT `actor_fullname` FOR (n:`Actor`) REQUIRE (n.`firstname`, n.`surname`) IS KEY"                                  |
| "author_name"            | "NODE_PROPERTY_EXISTENCE"          | "CREATE CONSTRAINT `author_name` FOR (n:`Author`) REQUIRE (n.`name`) IS NOT NULL"                                                 |
| "book_isbn"              | "NODE_PROPERTY_UNIQUENESS"         | "CREATE CONSTRAINT `book_isbn` FOR (n:`Book`) REQUIRE (n.`isbn`) IS UNIQUE"                                                       |
| "book_title_year"        | "NODE_PROPERTY_UNIQUENESS"         | "CREATE CONSTRAINT `book_title_year` FOR (n:`Book`) REQUIRE (n.`title`, n.`publicationYear`) IS UNIQUE"                           |
| "director_imdbId"        | "NODE_KEY"                         | "CREATE CONSTRAINT `director_imdbId` FOR (n:`Director`) REQUIRE (n.`imdbId`) IS KEY"                                              |
| "knows_since_how"        | "RELATIONSHIP_KEY"                 | "CREATE CONSTRAINT `knows_since_how` FOR ()-[r:`KNOWS`]-() REQUIRE (r.`since`, r.`how`) IS KEY"                                   |
| "movie_tagline"          | "NODE_PROPERTY_TYPE"               | "CREATE CONSTRAINT `movie_tagline` FOR (n:`Movie`) REQUIRE (n.`tagline`) IS :: STRING | LIST<STRING NOT NULL>"                    |
| "movie_title"            | "NODE_PROPERTY_TYPE"               | "CREATE CONSTRAINT `movie_title` FOR (n:`Movie`) REQUIRE (n.`title`) IS :: STRING"                                                |
| "node_uniqueness_param"  | "NODE_PROPERTY_UNIQUENESS"         | "CREATE CONSTRAINT `node_uniqueness_param` FOR (n:`Book`) REQUIRE (n.`prop1`) IS UNIQUE"                                          |
| "node_vector_constraint" | "NODE_PROPERTY_TYPE"               | "CREATE CONSTRAINT `node_vector_constraint` FOR (n:`Movie`) REQUIRE (n.`embedding`) IS :: VECTOR<INTEGER32 NOT NULL>(42)"         |
| "ownershipId"            | "RELATIONSHIP_KEY"                 | "CREATE CONSTRAINT `ownershipId` FOR ()-[r:`OWNS`]-() REQUIRE (r.`ownershipId`) IS KEY"                                           |
| "part_of"                | "RELATIONSHIP_PROPERTY_TYPE"       | "CREATE CONSTRAINT `part_of` FOR ()-[r:`PART_OF`]-() REQUIRE (r.`order`) IS :: INTEGER"                                           |
| "part_of_tags"           | "RELATIONSHIP_PROPERTY_TYPE"       | "CREATE CONSTRAINT `part_of_tags` FOR ()-[r:`PART_OF`]-() REQUIRE (r.`tags`) IS :: STRING | LIST<STRING NOT NULL>"                |
| "prequels"               | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "CREATE CONSTRAINT `prequels` FOR ()-[r:`PREQUEL_OF`]-() REQUIRE (r.`order`, r.`author`) IS UNIQUE"                               |
| "rel_exist_param"        | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "CREATE CONSTRAINT `rel_exist_param` FOR ()-[r:`WROTE`]-() REQUIRE (r.`published`) IS NOT NULL"                                   |
| "rel_vector_constraint"  | "RELATIONSHIP_PROPERTY_TYPE"       | "CREATE CONSTRAINT `rel_vector_constraint` FOR ()-[r:`CONTAINS`]-() REQUIRE (r.`embedding`) IS :: VECTOR<FLOAT32 NOT NULL>(1536)" |
| "sequels"                | "RELATIONSHIP_PROPERTY_UNIQUENESS" | "CREATE CONSTRAINT `sequels` FOR ()-[r:`SEQUEL_OF`]-() REQUIRE (r.`order`) IS UNIQUE"                                             |
| "wrote_year"             | "RELATIONSHIP_PROPERTY_EXISTENCE"  | "CREATE CONSTRAINT `wrote_year` FOR ()-[r:`WROTE`]-() REQUIRE (r.`year`) IS NOT NULL"                                             |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

列出约束的结果列

列出约束输出
描述 类型

id

约束的 ID。默认输出

INTEGER(整数)

名称 (name)

约束的名称(由用户明确设置或自动分配)。默认输出

STRING

type

该约束的 ConstraintType(NODE_PROPERTY_UNIQUENESS, RELATIONSHIP_PROPERTY_UNIQUENESS, NODE_PROPERTY_EXISTENCE, RELATIONSHIP_PROPERTY_EXISTENCE, NODE_PROPERTY_TYPE, RELATIONSHIP_PROPERTY_TYPE, NODE_LABEL_EXISTENCE, RELATIONSHIP_SOURCE_LABEL, RELATIONSHIP_TARGET_LABEL, NODE_KEY, 或 RELATIONSHIP_KEY)。默认输出

STRING

entityType

此约束所代表的实体类型(NODERELATIONSHIP)。默认输出

STRING

labelsOrTypes

此约束的标签或关系类型。返回的列表将仅包含单个值(受约束的节点标签或关系类型的名称)。默认输出

LIST<STRING>

属性

此约束的属性,如果是不约束属性的节点标签存在、关系源标签和关系目标约束,则为 null默认输出

LIST<STRING>

enforcedLabel

节点标签存在约束所需的隐含标签,或关系源或目标标签约束所需的源节点和目标节点标签,对于其他不限制标签的约束,则为 null默认输出 仅限 Cypher 25 引入于 Neo4j 2026.02

STRING

ownedIndex

与该约束关联的索引名称,如果未关联索引,则为 null默认输出

STRING

propertyType

属性类型约束中属性被限制为的属性类型,对于其他约束,则为 null默认输出

STRING

classification

图类型中约束的状态(dependent, undesignated, 或 independent)。仅限 Cypher 25 引入于 Neo4j 2026.02

STRING

选项 (options)

传递给 CREATE 命令的选项(用于与约束关联的索引),如果未与约束关联索引,则为 null

MAP

createStatement

用于创建约束的语句;如果无法通过 CREATE CONSTRAINT 创建该约束(例如版本不兼容或分类为 dependent 的约束),则为 null

STRING