私はMySQLでの外部キーの使用に比較的慣れていないので、それらに関する助けを期待していました.
私の問題は、いくつかの列を含むテーブルがあり、そのうちの2つは別のテーブルのキーに依存していることです。一般的なスキームは次のようになります。ここで、'a' と 'b' はそれらの関係を示す列です。
Table 1 (a)
Table 2 (a,b)
Table 3 (a,b) <-- Table in question
表 3 には、表 1 で発生する更新と削除をカスケードする外部キーがあります。表 2 の変更時に、表 3 の列 b を更新と削除で NULL に設定する必要があります (a はそのままにしておく必要があります)。この場合)。外部キーを使用してそのような関係を設定する方法はありますか? トリガーを使用した方がよいでしょうか (これまで使用したことはありません)。
前もって感謝します!
編集: さらに明確にするために、表 2 には主キーとして a と b があり、表 2 を変更すると、表 3 の b にそれらの変更が反映されます。
例:
Table 1:
a
1
2
Table 2:
a b
1 1
1 2
2 1
2 2
Table 3:
a b
1 1
2 1
2 2
現在、表 2 から行 1 を削除すると、次のようになります。
Table 1:
a
1
2
Table 2:
a b
1 2
2 1
2 2
Table 3:
a b
1 NULL
2 NULL
2 2
私が欲しいのは:
Table 1:
a
1
2
Table 2:
a b
1 2
2 1
2 2
Table 3:
a b
1 NULL
2 1
2 2