ホームページ  >  記事  >  データベース  >  mysqlでのチェック制約の用途は何ですか

mysqlでのチェック制約の用途は何ですか

青灯夜游
青灯夜游オリジナル
2019-05-07 17:43:196022ブラウズ

mysql におけるチェック制約の役割: 列の取り得る値の範囲を指定するために使用されます。チェック制約は、ユーザーの実際の整合性要件に従って定義された CREATE TABLE または ALTER TABLE ステートメントを通じて実装できます。

mysqlでのチェック制約の用途は何ですか

MySQL では、特定のカラムの取り得る値の範囲を指定するために CHECK チェック制約が提供されており、値を制限することでこれを強制します。ドメインの整合性を列に入力します。ただし、現在の MySQL バージョンでは CHECK 制約のみが分析および処理されますが、直接無視され、エラーは報告されません。

MySQL チェック制約 (CHECK) は、ユーザーの実際の整合性要件に従って定義された CREATE TABLE または ALTER TABLE ステートメントを通じて実装できます。列またはテーブルに個別に CHECK 制約を適用できます。

テーブル作成時にチェック制約を設定する

基本構文:

CHECK(<检查约束>)

例: test_db データベースに tb_emp7 データを作成するテーブルでは、給与フィールドの値は 0 より大きく 10000 未満である必要があります

mysql> CREATE TABLE tb_emp7
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> CHECK(salary>0 AND salary<100),
    -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    -> );
Query OK, 0 rows affected (0.37 sec)

テーブルを変更するときにチェック制約を追加します

##基本構文:


ALTER TABLE tb_emp7 ADD CONSTRAINT <检查约束名> CHECK(<检查约束>)

例: tb_dept データ テーブルを変更し、id フィールド値が 0 より大きい必要があります

mysql> ALTER TABLE tb_emp7
    -> ADD CONSTRAINT check_id
    -> CHECK(id>0);
Query OK, 0 rows affected (0.19 sec)
Records: 0  Duplicates: 0  Warnings: 0

チェック制約を削除します

基本構文:

ALTER TABLE <数据表名> DROP CONSTRAINT <检查约束名>;

以上がmysqlでのチェック制約の用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。