制約のチェック

CHECK_CONSTRAINTS表には、 CHECK制約の表に関する情報が示されています。

USE INFORMATION_SCHEMA; DESC CHECK_CONSTRAINTS;

出力は次のようになります。

+--------------------+-------------+------+-----+---------+-------+ | 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 | | +--------------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)

次の例では、 CREATE TABLEステートメントを使用してCHECK制約を追加します。

SET GLOBAL tidb_enable_check_constraint = ON; CREATE TABLE test.t1 (id INT PRIMARY KEY, CHECK (id%2 = 0)); SELECT * FROM CHECK_CONSTRAINTS\G

出力は次のようになります。

*************************** 1. row *************************** CONSTRAINT_CATALOG: def CONSTRAINT_SCHEMA: test CONSTRAINT_NAME: t1_chk_1 CHECK_CLAUSE: (`id` % 2 = 0) 1 row in set (0.00 sec)

CHECK_CONSTRAINTSのテーブル内のフィールドは次のように説明されます。

  • CONSTRAINT_CATALOG : 制約のカタログ。常にdefです。
  • CONSTRAINT_SCHEMA : 制約のスキーマ。
  • CONSTRAINT_NAME : 制約の名前。
  • CHECK_CLAUSE : チェック制約の句。

このページは役に立ちましたか?