私はmysqlの に2つのテーブルがあるとし1.Child(名前、father_name) 2.Father .Father_name子テーブルの参照名に(名前、連絡先)なぜ外部キーが複合主キーの一部を参照できるようにするのですか?
テーブルの父は複合キー(名前、連絡先)を持っています父の中で。したがって、外部キーは主キーの一部を参照します。これはmysqlによって許可されます。
ただし、次のような状況を考慮してください。
表の父親は、以下のタプルがあります
(kishan,9906011111)
(kishan,99906)
は今、私はどののKishanに知っているだろうどのように
(xyz,kishan)
子に行を挿入するとし父親のテーブルは、子供に関連するxyzですか?
この状況は、mysqlが主キーの一部を参照するために外部キーを許可しない場合に発生する可能性があります。
mysqlが許可しているこのスキームのメリットについてお答えください。
a * foreign *キーが値の** list **に対応する可能性があるためです。 –