mysql - 2 つのテーブルがデータベーステーブル内の外部キーとして相互に参照する問題を解決する方法
伊谢尔伦
伊谢尔伦 2017-06-08 11:03:31
0
2
1174

テーブルが 2 つあり、1 つは従業員テーブル、もう 1 つは部門テーブルです。

  • 従業員テーブルには、従業員番号と部門番号という 2 つの属性があります。

  • Department には、部門番号とマネージャー番号という 2 つの属性があります。

明らかに、マネージャー番号は従業員テーブルの従業員番号を外部キー参照として使用する必要があり、従業員テーブルの部門番号は部門テーブルの部門番号を外部キー参照として使用する必要があります。

結果として、相互に外部キー参照である 2 つのテーブル間に競合が発生します。これを解決するにはどうすればよいですか?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
女神的闺蜜爱上我

テーブル構造に無理がある!

ジュエカラーテーブルを追加する必要があります

従業員テーブルに役割フィールドを追加します

キャラクターリスト

ID キャラクター名
1 マネージャー
2 女性秘書
3 レンガを動かす犬

従業員一覧

ID キャラクター 部門 名前
1 1 1 マネージャー
2 2 1 シャオミ
3 3 1 ディシ

部門表

ID 部署名
1 産業省
2 事業部
3 研究開発部
いいねを押す +0
迷茫

「外部キーの相互参照」はなぜ矛盾するのでしょうか?

新しい部門を追加する必要があり、この部門のマネージャーも新しい人である場合は、まず古い従業員をマネージャーとして「機能」させ、追加が成功した後に変更することができます。たとえば、新しい財務部門とマネージャーの Zhang San を追加します。

リーリー

次の質問は、両方のテーブルが空の場合にどのように追加するかです。現時点では、最初にデータ行を追加してから、外部キー制約を追加できます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート