Jag är inte säker på om du förstod vad främmande nycklar används till. En främmande nyckel säger i princip "för denna post måste det finnas en post i den överordnade tabellen". Du sa att user_id is foreign key in vehicle table
, vilket inte är klart för mig.
Så låt oss anta att du har en tabelldefinition så här:
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)
);
När du vill infoga en ny användare i tabellen måste user_id vara en befintlig post i kolumnen car_owner i fordonstabellen.
Främmande nycklar är till för att implementera affärsregler. Måste varje användare nödvändigtvis vara bilägare? Eller tvärtom, måste varje bil ägas av någon? Om du kan svara på båda frågorna med nej, implementera inte några främmande nycklar för det här fallet. Men gör det, om du säkert kan svara ja.
För att få informationen du letar efter gör du bara
SELECT
*
FROM
vehicles
INNER JOIN users ON vehicles.car_owner = users.user_id