MySQL複合主キーの設定方法と注意点

WBOY
リリース: 2024-03-15 17:45:03
オリジナル
1504 人が閲覧しました

MySQL 复合主键的设置方法与注意事项

MySQL 複合主キーの設定方法と注意事項

MySQL データベースでは、主キーはテーブル内の各レコードを一意に識別するために使用されるフィールド、またはフィールドの組み合わせです。 。単一のフィールドを主キーとして設定するだけでなく、複数のフィールドを組み合わせて複合主キーとして設定することもできます。この記事では、MySQLにおける複合主キーの設定方法、利用シーン、注意点を具体的なコード例を交えて紹介します。

複合主キーを設定する方法:
テーブルを作成するとき、次の構文を使用して複合主キーを設定できます:

CREATE TABLE table_name (
    列1のデータ型、
    列2のデータ型、
    ...
    主キー (列 1、列 2)
);
ログイン後にコピー

column1column2 はテーブル内の 2 つのフィールドであり、合わせて複合主キーを形成します。テーブルを作成するときは、これら 2 つのフィールドをかっこで囲み、かっこの前に PRIMARY KEY キーワードを追加して、それらを複合主キーとして設定します。

複合主キーを使用するシナリオ:

  1. テーブル内の各レコードを複数のフィールドで一意に識別する必要がある場合は、複合主キーの使用が適しています。たとえば、注文テーブルでは、注文番号と顧客番号を合わせて注文レコードを一意に決定できます。
  2. データ クエリと並べ替えを実行するときに、複数のフィールドに基づいて操作する必要がある場合は、複合主キーを使用するとクエリのパフォーマンスを向上させることができます。

注:

  1. フィールドの順序によってインデックスの順序が決まるため、複合主キーのフィールド順序は重要です。複合主キーを設計するときは、特定のビジネス要件に基づいてフィールドの順序を決定する必要があります。
  2. 複合主キー フィールドの場合は、データベースのパフォーマンスへの影響を避けるために、主キーのフィールド値を頻繁に変更しないように、主キーとして不変フィールドを選択するようにしてください。
  3. 複合主キーは、データを挿入するときに一意性を保証する必要があります。そうしないと、挿入が失敗します。 INSERT IGNORE または ON DUPLICATE KEY UPDATE ステートメントを使用して、主キーが重複している状況を処理できます。

次は具体的な例です。

student という名前のテーブルがあり、学生の学生番号 (student_id)、クラス番号 (class_id) が含まれているとします。 ) と名前フィールドを作成した後、2 つのフィールド student_idclass_id を複合主キーとして結合する必要があります。

テーブルを作成する 学生 (
    Student_id INT、
    class_id INT、
    名前 VARCHAR(50)、
    主キー (student_id、class_id)
);
ログイン後にコピー

上記の例を通じて、MySQL で複合主キーを設定する方法を確認し、複合主キーの使用シナリオと注意事項を理解できます。実際のアプリケーションでは、特定のビジネス ニーズとデータベース設計仕様に従って、複合主キーを合理的に設定することで、データベースのパフォーマンスとデータの整合性を向上させることができます。

以上がMySQL複合主キーの設定方法と注意点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!