MySQL 複合主キーの設定方法と注意点【初心者向け】
MySQLでは、通常、各行データを一意に識別するために主キーが使用されます。テーブルに複数の主キーを持たせたい場合は、複合主キーを作成する必要があります。これは、1つの列ではなく2つ以上の列を主キーとして設定する必要があることを意味します。
MySQLで二重主キーを設定する方法は次の通りです。
- ユーザー (users)
- ユーザー名
- メール
CREATE TABLE users (
username VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (username, email)
);
上記の例では、ユーザー名とメールアドレスの列が主キーとして定義されています。
- テーブルを変更
- ユーザー
- ユーザー名
- 電子メール
ALTER TABLE users
ADD PRIMARY KEY (email);
上記の例では、email列が別の主キーとして追加されました。
複合主キーを設定する際には、列の組み合わせが一意であることを確認してください。さもないとエラーが発生します。データの完全性と整合性を確保するため、他の制約も設定することができます。外部キー制約や一意キー制約などを考えてください。