MySQL で「外部キー制約を追加できません」エラーが発生するのはなぜですか?
外部キー制約エラー: 原因と解決策について
この質問は、MySQL でコース テーブルを作成中に発生したエラーに関するものです。
ERROR 1215 (HY000): Cannot add foreign key constraint
このエラーは、SQL ステートメントで指定された外部キー制約に問題があることを示します。外部キー制約により、あるテーブル (コースなど) の外部キー列のデータが別のテーブル (部門など) の主キー列の既存のデータが参照されるようになります。
このエラーを解決して正常に作成するにはコース テーブルでは、次のガイドラインに従うことが重要です:
-
マッチング エンジン、データ型、および照合順序:
- 両方の参照部門テーブルのフィールド (dept_name) とコース テーブルの外部キー フィールド (dept_name) は、InnoDB などの同じエンジンを持っている必要があります。
- フィールドは、長さを含め、同一のデータ型を持つ必要があります。たとえば、文字セット エンコーディングを指定する VARCHAR(20) または INT(10) UNSIGNED.
- Collation も一致する必要があります。通常、utf8 が使用されます。
-
参照フィールドの一意性:
- 外部キー (dept_name) によって参照されるフィールド部門テーブル内) は一意である必要があります。これにより、コース テーブルの各行が部門テーブルの行を正しく参照できるようになります。
-
NOT NULL 制約:
- 外部キー制約で SET NULL オプションを指定した場合は、関連する列が NOT NULL として定義されていないことを確認してください。
これらのガイドラインに従ってください。を使用すると、「外部キー制約を追加できません」エラーを回避し、コース テーブルと部門テーブルの間に適切な参照整合性を確立できます。
追加メモ:
外部キーの無効化SET FOREIGN_KEY_CHECKS=0 を使用したチェックにより、誤った制約を持つテーブルを作成できる可能性がありますが、お勧めできません。この設定により、データの不整合やデータベースの破損が発生する可能性があります。
以上がMySQL で「外部キー制約を追加できません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?
