MySQLでテーブルを作成する際に外部キーを設定する方法
MySQLでは、外部キーを設定する際にFOREIGN KEYキーワードを使用します。
最初に両方のテーブルが作成されていることを確認する必要があります。その上で、テーブルを作成する際には列の定義においてFOREIGN KEYキーワードを使用して外部キーを設定することができます。
次へに、外部キーを含むテーブルを作成する方法の例を示します。
CREATE TABLE テーブル名 (
列名1 データ型
項目2 データ型
この文を日本語で言い換えてください。
FOREIGN KEY (外部キーのカラム名) REFERENCES 参照先テーブル名(参照先テーブルの主キーのカラム名)
その文は日本語でネイティブに言い換えるとこうなります。
この例では、「表名」は作成するテーブル名、「列名1」と「列名2」はテーブルの列名、「データ型」は列のデータ型です。「外部キー列名」は外部キーに設定する列名、「対象テーブル名」は外部キーが参照する対象テーブル名、「対象テーブルの主キー列名」は外部キーとして参照される、対象テーブルの主キー列名 です。
例えば、「orders」というテーブルを作成し、その中に「customer_id」として外部キーを持ち、「customers」テーブル内のプライマリーキー「customer_id」を参照したい場合は、以下のコードを使用できます。
CREATE TABLE `orders` (
order_id INT PRIMARY KEY,
受注日 DATE
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
ご不便をおかけいたしましたことを心よりお詫び申し上げます。
上記例で、”orders” テーブルは “customer_id” という外部キーを持ち、”customers” テーブルの主キーである “customer_id” 列を参照しています。
外部キーの作成に成功するには、2 つのテーブル間のデータ型が一致している必要があり、外部キー列が主テーブルに既に存在する主キー列を参照している必要があり、他の外部キー制約が満たされていることに注意してください。