ホームページ >データベース >mysql チュートリアル >mysqlデータベースの主キーの詳しい説明

mysqlデータベースの主キーの詳しい説明

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

主キーの概要

前述したように、主キーの値は一意である必要があります。つまり、テーブル内の各行には一意の主キー値が必要です。単一の列が主キーとして使用される場合、その値は一意である必要があります。複数の列を使用する場合、これらの列を組み合わせた値は一意である必要があります。

mysql主キーの役割

テーブル内の各行を一意に識別する列(またはこの列のグループ)は、主キーと呼ばれます。主キーがないと、関連する行のみが設計されていることを保証する安全な方法がないため、テーブル内の特定の行を更新または削除することが困難になります。

これまでに見てきた CREATE TABLE の例はすべて、単一の列を主キーとして使用しています。主キーは次のようなステートメントで定義されます:

PRIMARY KEY (vend_id )

複数の列で構成される主キーを作成するには、次のように各列名をカンマ区切りのリストで指定する必要があります:

create table orderitems
(
order_num              int              NOT NULL,
order_item             int               NOT NULL,
prod_id              char(10)            NOT NULL,
quantity              int               NOT NULL,
item_price              decimal(8,2)                  NOT NULL,
PRIMARY KEY (order_num,order_item)
)ENGINE = InnoDB;

orderitems テーブルにはそれぞれが含まれます注文テーブルの注文の詳細。各注文には複数のアイテムがありますが、各注文には常に最初のアイテムが 1 つ、2 番目のアイテムが 1 つだけ含まれます。したがって、注文番号 (order_num 列) と注文品目 (order_item 列) の組み合わせは一意であり、次のように定義される主キーとして適しています。

PRIMARY KEY ( order_num,order_item)

主キーは、テーブルの作成時に定義できます (ここに示すように)。 )、またはテーブルの後に定義を作成する場合。

主キーと NULL 値 主キーは、テーブル内の各行を一意に識別する値を持つ列です。主キーにはNULL値を許可しない列のみ使用できます。 NULL 値を許可する列を一意の識別子として使用することはできません。

主キーの自動インクリメントについては、mysqlでデータテーブルを作成する際のAUTO_INCREMENTの使い方の詳しい解説で詳しく説明します。

【関連おすすめ】

  1. php中国語ウェブサイト特別推奨: phpプログラマツールボックスのダウンロード(ワンクリックでphp環境を構築)

  2. mysqlの自動増加するAUTO_INCREMENTインスタンスの使用量

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

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