sql >> データベース >  >> RDS >> Mysql

複数のテーブルの同じ外部キー

    それらに別の名前を付ける必要はありません。 FAMILYにFAM_ID列、DOCUMENTSにFAM_ID列、CONTACTにFAM_ID列を含めることができます。

    この場合、それらに同じ名前を付けると、それらが同じものを参照していることが明確になります。ただし、必要に応じて、独自の別の命名規則を考案することもできます。

    たとえば、family_IDの行に沿って何かを使用します ファミリテーブルで、contact_familyIDdocument_familyID 連絡先とドキュメントの表から参照する場合。

    私が見る限り、それらに同じ名前を付けることの唯一の欠点は、結合を行うときに、列名だけで参照することはできず、エイリアスを作成するか、tablename.columnnameで参照する必要があることです。

    >

    編集:同じ名前を付けることができないという意味を見つけたと思います。これは、ここで説明するように、単一のテーブル内に外部キー関係を追加する場合です。 http://bugs.mysql.com/bug.php?id=46363



    1. PostgreSQLでの再帰トリガーの防止

    2. OpenShiftでのMySQL/CodeIgniter設定

    3. mySQL相関サブクエリ

    4. MariaDBの列にあるすべての非数値を検索する