diff --git a/TOC-tidb-cloud.md b/TOC-tidb-cloud.md index 4e6ef3365db0d..7411570da4499 100644 --- a/TOC-tidb-cloud.md +++ b/TOC-tidb-cloud.md @@ -655,6 +655,7 @@ - [`TABLES`](/information-schema/information-schema-tables.md) - [`TABLE_CONSTRAINTS`](/information-schema/information-schema-table-constraints.md) - [`TABLE_STORAGE_STATS`](/information-schema/information-schema-table-storage-stats.md) + - [`TIDB_CHECK_CONSTRAINTS`](/information-schema/information-schema-tidb-check-constraints.md) - [`TIDB_HOT_REGIONS_HISTORY`](/information-schema/information-schema-tidb-hot-regions-history.md) - [`TIDB_INDEXES`](/information-schema/information-schema-tidb-indexes.md) - [`TIDB_INDEX_USAGE`](/information-schema/information-schema-tidb-index-usage.md) diff --git a/TOC.md b/TOC.md index 744b073e9dddb..19adfdad2bb76 100644 --- a/TOC.md +++ b/TOC.md @@ -994,6 +994,7 @@ - [`TABLES`](/information-schema/information-schema-tables.md) - [`TABLE_CONSTRAINTS`](/information-schema/information-schema-table-constraints.md) - [`TABLE_STORAGE_STATS`](/information-schema/information-schema-table-storage-stats.md) + - [`TIDB_CHECK_CONSTRAINTS`](/information-schema/information-schema-tidb-check-constraints.md) - [`TIDB_HOT_REGIONS`](/information-schema/information-schema-tidb-hot-regions.md) - [`TIDB_HOT_REGIONS_HISTORY`](/information-schema/information-schema-tidb-hot-regions-history.md) - [`TIDB_INDEXES`](/information-schema/information-schema-tidb-indexes.md) diff --git a/information-schema/information-schema-check-constraints.md b/information-schema/information-schema-check-constraints.md index 9b1a2088ac47a..72014bc10858b 100644 --- a/information-schema/information-schema-check-constraints.md +++ b/information-schema/information-schema-check-constraints.md @@ -29,6 +29,7 @@ The output is as follows: The following example adds a `CHECK` constraint using the `CREATE TABLE` statement: ```sql +SET GLOBAL tidb_enable_check_constraint = ON; CREATE TABLE test.t1 (id INT PRIMARY KEY, CHECK (id%2 = 0)); SELECT * FROM CHECK_CONSTRAINTS\G ``` diff --git a/information-schema/information-schema-tidb-check-constraints.md b/information-schema/information-schema-tidb-check-constraints.md new file mode 100644 index 0000000000000..c979c41ee2ce4 --- /dev/null +++ b/information-schema/information-schema-tidb-check-constraints.md @@ -0,0 +1,59 @@ +--- +title: TIDB_CHECK_CONSTRAINTS +summary: Learn the `TIDB_CHECK_CONSTRAINTS` INFORMATION_SCHEMA table. +--- + +# TIDB\_CHECK\_CONSTRAINTS + +The `TIDB_CHECK_CONSTRAINTS` table provides information about [`CHECK` constraints](/constraints.md#check) on tables. In addition to the columns in [`CHECK_CONSTRAINTS`](/information-schema/information-schema-check-constraints.md), `TIDB_CHECK_CONSTRAINTS` provides the name and ID of the table that defines the `CHECK` constraint. + +```sql +USE INFORMATION_SCHEMA; +DESC TIDB_CHECK_CONSTRAINTS; +``` + +The output is as follows: + +```sql ++--------------------+-------------+------+------+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++--------------------+-------------+------+------+---------+-------+ +| CONSTRAINT_CATALOG | varchar(64) | NO | | NULL | | +| CONSTRAINT_SCHEMA | varchar(64) | NO | | NULL | | +| CONSTRAINT_NAME | varchar(64) | NO | | NULL | | +| CHECK_CLAUSE | longtext | NO | | NULL | | +| TABLE_NAME | varchar(64) | YES | | NULL | | +| TABLE_ID | bigint(21) | YES | | NULL | | ++--------------------+-------------+------+------+---------+-------+ +6 rows in set (0.00 sec) +``` + +The following example adds a `CHECK` constraint using the `CREATE TABLE` statement: + +```sql +SET GLOBAL tidb_enable_check_constraint = ON; +CREATE TABLE test.t1 (id INT PRIMARY KEY, CHECK (id%2 = 0)); +SELECT * FROM TIDB_CHECK_CONSTRAINTS\G +``` + +The output is as follows: + +```sql +*************************** 1. row *************************** +CONSTRAINT_CATALOG: def + CONSTRAINT_SCHEMA: test + CONSTRAINT_NAME: t1_chk_1 + CHECK_CLAUSE: (`id` % 2 = 0) + TABLE_NAME: t1 + TABLE_ID: 107 +1 row in set (0.02 sec) +``` + +Fields in the `TIDB_CHECK_CONSTRAINTS` table are described as follows: + +* `CONSTRAINT_CATALOG`: The catalog of the constraint, which is always `def`. +* `CONSTRAINT_SCHEMA`: The schema of the constraint. +* `CONSTRAINT_NAME`: The name of the constraint. +* `CHECK_CLAUSE`: The clause of the check constraint. +* `TABLE_NAME`: The name of the table where the constraint is located. +* `TABLE_ID`: The ID of the table where the constraint is located.