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

2つのテーブルからクエリを実行するときに外部キーを使用する方法

    外部キーが何に使用されているかを理解しているかどうかはわかりません。外部キーは基本的に「このエントリには親テーブルにエントリがなければならない」と言っています。 user_id is foreign key in vehicle tableとおっしゃいました 、それは私にはわかりません。

    したがって、次のようなテーブル定義があると仮定しましょう:

    CREATE TABLE vehicles
    (`id_car` int, `car_model` varchar(2), `car_owner` int);
    
    
    CREATE TABLE users
    (`user_id` int, `user_name` varchar(5), `user_phone` varchar(7)
    , CONSTRAINT `fk_your_foreign_key` FOREIGN KEY (user_id) REFERENCES vehicles(car_owner)
    );
    

    新しいユーザーをテーブルに挿入する場合、user_idは、Vehiclesテーブルのcar_owner列の既存のエントリである必要があります。

    外部キーは、ビジネスルールを実装するためにあります。すべてのユーザーは必ずしも車の所有者である必要がありますか?または逆に、すべての車は誰かが所有している必要がありますか?いいえで両方の質問に答えることができる場合は、この場合の外部キーを実装しないでください。ただし、確かに「はい」と答えられる場合は、そうしてください。

    探している情報を取得するには、

    SELECT 
    * 
    FROM 
    vehicles 
    INNER JOIN users ON vehicles.car_owner = users.user_id
    


    1. 更新変数のMYSQLストアドプロシージャは0です

    2. Oracleは更新動作を選択します

    3. PySide2にQMYSQLドライバーをロードできません

    4. 日付フィールドのcakephpでmysqlnow()関数を使用する方法は?