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

誰かがMySQLの外部キーを説明できますか

    これは自動ではありません。外部キー制約 customer_idorderの列 テーブル。これは、テーブルの作成時に、またはALTERステートメントを使用して実行できます。詳細については、ドキュメントを確認してください。他の人が指摘したように、両方のテーブルに注意してください InnoDBテーブルである必要があります(外部キー制約は、それらを無視するMyISAMストレージエンジンではサポートされていません)。

    FK制約の有無にかかわらず、クエリは次のようになります。

    SELECT * 
    FROM CUSTOMER C, ORDER O
    WHERE C.ID = O.CUSTOMER_ID
    AND O.ID = ...
    

    FK制約は、ORDERテーブルのCUSTOMER_ID列にCUSTOMERテーブルに存在しない値(潜在的にNULLを除く)を含めることができないことを「ただ」保証し、したがって参照整合性を強制します。



    1. MySQLインジェクション-SELECTクエリを使用して更新/削除します

    2. 2つの日付の間のすべての日付を一覧表示する方法

    3. テーブルを結合する方法-SQL

    4. Oracleを使用してHibernateに最後に挿入された行のIDを取得できません