मुझे यकीन नहीं है, अगर आप समझ गए हैं कि विदेशी कुंजियों का उपयोग किस लिए किया जाता है। एक विदेशी कुंजी मूल रूप से कहती है "इस प्रविष्टि के लिए मूल तालिका में एक प्रविष्टि होनी चाहिए"। आपने कहा था 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 वाहन तालिका में car_owner कॉलम में एक मौजूदा प्रविष्टि होनी चाहिए।
व्यापार नियमों को लागू करने के लिए विदेशी चाबियां हैं। क्या हर उपयोगकर्ता के लिए कार का मालिक होना अनिवार्य है? या दूसरी तरफ, क्या हर कार का स्वामित्व किसी के पास होना चाहिए? यदि आप दोनों प्रश्नों का उत्तर नहीं के साथ दे सकते हैं, तो इस मामले के लिए कोई विदेशी कुंजी लागू न करें। लेकिन ऐसा करें, यदि आप निश्चित रूप से हां में उत्तर दे सकते हैं।
आप जो जानकारी खोज रहे हैं उसे प्राप्त करने के लिए बस
. करेंSELECT
*
FROM
vehicles
INNER JOIN users ON vehicles.car_owner = users.user_id