主キーの概要
前述したように、主キーの値は一意である必要があります。つまり、テーブル内の各行には一意の主キー値が必要です。単一の列が主キーとして使用される場合、その値は一意である必要があります。複数の列を使用する場合、これらの列を組み合わせた値は一意である必要があります。
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の使い方の詳しい解説で詳しく説明します。
【関連おすすめ】
php中国語ウェブサイト特別推奨: phpプログラマツールボックスのダウンロード(ワンクリックでphp環境を構築)
mysqlの自動増加するAUTO_INCREMENTインスタンスの使用量
以上がmysqlデータベースの主キーの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。