テーブル 'table_name' を作成できません (エラー番号: 150) - MySQL エラーの解決方法: テーブルを作成できません、エラー番号: 150

WBOY
リリース: 2023-10-05 09:09:11
オリジナル
1205 人が閲覧しました

Can\'t create table \'table_name\' (errno: 150) - 如何解决MySQL报错:无法创建表,错误编号:150

テーブル 'table_name' を作成できません (エラー番号: 150) - MySQL エラーの解決方法: テーブルを作成できません、エラー番号: 150、特定のコード例が必要です

MySQL データベースを使用している場合、テーブルの作成時に問題が発生することがあります。よくある問題の 1 つは、エラー番号 150 でテーブルを作成できないことです。このエラーは通常、テーブル作成時の外部キー制約エラーを示します。この記事では、この問題を解決する方法を説明し、具体的なコード例を示します。

MySQL では、テーブル間の関係を確立するために外部キーが使用されます。テーブルの作成時に外部キー制約を使用する場合、外部キーの条件が満たされていない場合、テーブルを作成できず、エラー番号 150 が発生します。

この問題を解決する最初のステップは、関連付けられたテーブルのフィールド タイプと制約が一貫しているかどうかを確認することです。外部キーによって関連付けられたフィールドは、関係を確立するために同じデータ型と制約を持つ必要があります。次の例は、2 つのテーブルを作成し、外部キー関係を確立する方法を示しています。

-- 创建部门表
CREATE TABLE department (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

-- 创建员工表
CREATE TABLE employee (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES department(id)
);
ログイン後にコピー

上の例では、部門テーブルと従業員テーブルという 2 つのテーブルを作成しました。従業員テーブルの部門 ID フィールドは外部キーであり、部門テーブルの ID フィールドを参照します。 FOREIGN KEY キーワードと REFERENCES 句を通じて、外部キー関係を確立します。

テーブルの作成時にエラー番号 150 が発生した場合、最も一般的な理由は、外部キーに関連付けられたフィールドの型または制約が一致しないことです。たとえば、employee テーブルのデパートメント ID フィールドの型が INT で、部門テーブルの id フィールドの型が VARCHAR である場合、この問題が発生します。テーブルを正常に作成するには、フィールドのタイプと制約が一貫していることを確認する必要があります。

さらに、エラー番号 150 が発生する可能性のある状況が他にもいくつかあります。一般的な問題と解決策は次のとおりです。

  1. テーブルの順序: テーブルの作成中に外部キー関係を確立しようとしたが、参照されるテーブルがまだ作成されていない場合、エラー番号 150 が発生します。解決策は、最初に参照されるテーブルを作成し、次にそれを参照するテーブルを作成することです。
  2. 文字セットと照合順序: 関連するテーブルの文字セットと照合順序が一致しない場合も、エラー番号 150 が発生します。解決策は、関連するテーブルの文字セットと照合順序が同じであることを確認することです。
  3. フィールドの主キー: 外部キーの作成時に参照されるフィールドが主キーではない場合も、エラー番号 150 が発生します。参照されるフィールドが主キーであり、同じデータ型であることを確認してください。

要約すると、エラー番号 150 は通常、テーブルを作成できないときに発生する外部キー制約エラーを示します。この問題を解決する鍵となるのは、関連付けられたテーブルのフィールドの型と制約が一貫しているかどうかを確認し、テーブルの作成順序とフィールドの主キーの設定が正しいことを確認することです。問題が解決しない場合は、コードを注意深く確認してデバッグし、考えられるエラーの他の原因を探してください。

この記事で提供されているコード例と解決策が、MySQL エラー: テーブルを作成できません、エラー番号 150 の問題の解決に役立つことを願っています。コードを作成してデバッグするときは、テーブルの構造と関係を注意深く調べて検証し、外部キー制約が満たされていることを確認してください。その他の質問がある場合は、MySQL 公式ドキュメントを参照するか、関連する専門家に相談してください。

以上がテーブル 'table_name' を作成できません (エラー番号: 150) - MySQL エラーの解決方法: テーブルを作成できません、エラー番号: 150の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート