ホームページ  >  記事  >  データベース  >  mysqlデータテーブルのNULL値の詳しい説明

mysqlデータテーブルのNULL値の詳しい説明

巴扎黑
巴扎黑オリジナル
2017-05-15 14:19:111820ブラウズ

NULL 値を使用する

NULL 値は、値がない、または値が欠落していることを意味します。 NULL 値を許可する列では、その列に値を指定せずに行を挿入することもできます。 NULL 値を許可しない列は、その列に値のない行を受け入れません。つまり、行を挿入または更新するときに、その列には値が必要です。

各テーブル列は、NULL 列または NOT NULL 列のいずれかであり、この状態はテーブルの作成時にテーブル定義によって指定されます。次の例を見てください:

入力:

create table orders
(
order_num          int               NOT NULL AUTO_INCREMENT,
order_date        datetime       NOT NULL,
cust_id                int               NOT NULL,
PRIMARY KEY (order_num)
)ENGINE = InnoDB;

分析: このステートメントは、この本で使用される注文テーブルを作成します。 order には、注文番号、注文日、顧客 ID の 3 つの列が含まれています。 3 つの列はすべて必須であるため、各列定義にはキーワード NOT NULL が含まれています。これにより、値のない列が挿入されなくなります。値のない列を挿入しようとすると、エラーが返され、挿入は失敗します。

次の例では、NULL 列と NOT NULL 列が混在するテーブルを作成します。

入力:

create table vendors
(
vend_id                 int                  NOT NULL AUTO_INCREMENT,
vend_name         char(50)            NOT NULL,
vend_address     char(50)           NULL,
vend_city             char(50)           NULL,
vend_state          char(5)             NULL,
vend_zip             char(10)           NULL,
vend_country      char(50)           NULL,
PRIMARY KEY (vend_id )
)ENGINE = InnoDB;

分析: このステートメントは、本書で使用されるベンダー テーブルを作成します。サプライヤー ID 列とサプライヤー名列は必須であるため、NOT NULL として指定します。残りの 5 つの列はすべて NULL 値を許可するため、NOT NULL は指定されません。 NULL がデフォルト設定です。NOT NULL が指定されていない場合は、NULL が指定されたものとみなされます。

mysql null と empty の違い

NULL について NULL 値と空の文字列を混同しないでください。 NULL 値は値ではなく、空の文字列ではありません。これは、'' (間に文字を含まない 2 つの一重引用符) を指定した場合、NOT NULL 列で許可されます。空の文字列は有効な値であり、無値ではありません。 NULL 値は、空の文字列の代わりにキーワード NULL を使用して指定されます。

以上がmysqlデータテーブルのNULL値の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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