【MySQL】テーブル作成時に複合主キーを設定する

MySQLでテーブル作成時に複合主キーの制約を行う方法をメモ。

環境: MySQL 8.0.27

複合主キーとは
そのテーブルの中でレコードを一意(ユニーク)に特定するための主キーの指定を2つ以上のカラムの組み合わせに対して行うこと。

CREATE TABLE内、表制約のPRIMAY KEYの箇所に一意な組みにしたいカラム名をカンマ区切りで指定すればOK

PRIMARY KEY(col1,col2,col3)

CREATE TABLE uriage_fact
(
    uriage_dateyear DATE,
    tenpo_id INT,
    shohin_id INT,
    total_hanbai_quantity INT,
    total_zaiko_quantity INT,
    FOREIGN KEY(tenpo_id) REFERENCES tenpo(id),
    FOREIGN KEY(shohin_id) REFERENCES shohin(id)
    PRIMARY KEY(uriage_dateyear,tenpo_id,shohin_id)
)

Follow me!