外部キー制約を追加できない問題の解決策
01 事件現場
- mysqlデータベーステーブルに外部キーを追加するとき
02 例外の原因とその解決方法
- 外部キーを追加するときに注意すべき重要な点がいくつかあります。そうしないと失敗しやすくなります。
1. データ型は一貫している必要があります
- 外部キーに追加する項目と参照項目のデータ型は同じである必要がありますが、ここで報告したエラーは、一方が int でもう一方が bigint であるためです。
2. 外部キー名が一意である
- 外部キー名を繰り返すことはできません
3. 外部キーのデフォルト設定は一貫している必要があります
-
ここの参照テーブルはデフォルトでチェックが入っていて署名がされていないのですが、以前チェックを忘れていたので修正しました。
-
前の絵がヌルかどうかも重要なポイントであり、要点を重点的に確認することでエラーを効果的に回避できます。
03 問題解決
- データ型を bigint (デフォルト設定) に変更し、unsigned をチェックしたところ、外部キーが正常に追加されました。これは満足です。