MySQL 外部キー エラー: 1215 のトラブルシューティング
MySQL に外部キー制約を追加しようとすると、エラー コード: 1215 が発生する場合があります。 「外部キー制約(外部キー)を追加できません。」このエラーは通常、データ型の不一致または構造的な問題が原因で発生します。
データ型の不一致
考えられる原因の 1 つは、外部キーを参照する列間のデータ型の不一致です。および参照された列。たとえば、クラス テーブルの classLeader 列のデータ型が VARCHAR(255) であり、student テーブルで参照される StudentID 列が INT である場合、外部キー制約は失敗します。両方の列のデータ型は同一である必要があります。
構造の問題
データ型が一致する場合、問題はテーブル間の構造の不一致にある可能性があります。特に注意すべき点:
例
-- Create student table CREATE TABLE student ( studentID int NOT NULL AUTO_INCREMENT, lastName varchar(255), firstName varchar(255), PRIMARY KEY (studentID) ); -- Create class table CREATE TABLE class ( classID int NOT NULL AUTO_INCREMENT, nameClass varchar(255), classLeader int, -- Change to INT to match studentID type FOREIGN KEY (classLeader) REFERENCES student(studentID), PRIMARY KEY (classID) );
外部キーとキー
外部キーは考慮されませんテーブル内の行を一意に識別する従来のキー (主キーや一意キーなど)。代わりに、その主な目的は、参照整合性を確保し、テーブル間の関係を維持することです。外部キーを強制することで、不整合や孤立したデータを防ぐことができます。
以上がMySQL 外部キー エラー 1215: 「外部キー制約を追加できません」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。