ホームページ  >  記事  >  データベース  >  nullはmysqlのインデックスではないのでしょうか?

nullはmysqlのインデックスではないのでしょうか?

青灯夜游
青灯夜游オリジナル
2022-06-20 17:56:002363ブラウズ

「not null」はインデックスではなく、非 null 制約です。フィールドの指定に使用される値を null にすることはできません。非 null 制約を使用するフィールドの場合、データの追加時に値が指定されていない場合、エラーが報告されます。非 NULL 制約を設定するには 2 つの方法があります: 1. テーブルの作成時に設定する、構文は "CREATE TABLE テーブル名 (フィールド名のデータ型 NOT NULL);"; 2. テーブルを変更するときに設定する、構文は " ALTER TABLE テーブル名 CHANGE COLUMN フィールド名 セグメント名 データ型 NOT NULL;"。

nullはmysqlのインデックスではないのでしょうか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

「not null」はインデックスではなく、非 null 制約です。

非 null 制約 (NOT NULL) は、フィールドの値を空にすることができないことを意味します。非 NULL 制約を使用するフィールドの場合、データを追加するときにユーザーが値を指定しないと、データベース システムはエラーを報告します。これは、CREATE TABLE または ALTER TABLE ステートメントを使用して実現できます。テーブル内の列の定義の後に修飾子としてキーワード NOT NULL を追加して、列の値が空にならないように制限します。

たとえば、ユーザー情報テーブルでユーザー名が追加されていない場合、そのユーザー情報は無効になりますが、このときユーザー名フィールドに非null制約を設定できます。

テーブルの作成時に非 null 制約を設定する

NOT NULL キーワードを使用して、テーブルの作成時に非 null 制約を設定できます。 、特定の構文形式は次のとおりです。

CREATE TABLE 表名(
字段名 数据类型 NOT NULL
);

例: データ テーブル tb_dept4 を作成します。指定された部門名を空にすることはできません

CREATE TABLE tb_dept4
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);

nullはmysqlのインデックスではないのでしょうか?

DESC tb_dept4;

nullはmysqlのインデックスではないのでしょうか?

テーブル変更時に非 null 制約を追加する

テーブルの作成時にフィールドに非 null 制約を設定するのを忘れた場合、テーブルを変更して非 null 制約を追加することもできます。

テーブルを変更するときに空でない制約を設定するための構文形式は次のとおりです。

ALTER TABLE <表名
CHANGE COLUMN 字段名
字段名 数据类型 NOT NULL;

例: データ テーブル tb_dept4 を変更します。指定された部門の職位を空にすることはできません

ALTER TABLE tb_dept4
CHANGE COLUMN location
location VARCHAR(50) NOT NULL;

nullはmysqlのインデックスではないのでしょうか?

【関連する推奨事項: mysql ビデオ チュートリアル ]

以上がnullはmysqlのインデックスではないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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