2012-03-10 15 views
5
करने के लिए सम्मिलित करें

यह एक बार में दो तालिकाओं के लिए में डालने के लिए संभव है? मैं एक userstable करने के लिए प्राथमिक कुंजी डालने के आधार पर एक तालिका (contactinformation) करने के लिए कुछ डेटा सम्मिलित और उसके बाद की जरूरत है और PrimaryKey एक क्षेत्र (विदेशी कुंजी) के रूप में स्थापित किया है। क्या यह संभव है?दो तालिकाओं

धन्यवाद

+0

आपको बदले में दोनों टेबलों पर सम्मिलन ऑपरेशन करने की आवश्यकता हो सकती है। – Lion

उत्तर

2

आप इस के लिए एक प्रक्रिया लिख ​​सकते हैं।

DELIMITER // 

CREATE PROCEDURE `proc1` (contactinformation colums... usertable columns...) 
BEGIN 
    INSERT INTO contactinformation values(contactinformation colums ...); 
    INSERT INTO usertable values(LAST_INSERT_ID(), contactinformation colums ...); 
END// 

DELIMITER ; 

contactinformation colums... contactinformation तालिका के स्तंभ परिभाषाओं का मतलब है।
usertable columns... usertable तालिका के स्तंभ परिभाषाओं का मतलब है। यदि contactinformation तालिका किसी भी ऑटो स्तंभ है

पहले डालने के बाद आप डालने आईडी प्राप्त कर सकते हैं। फिर उस कुंजी का उपयोग दूसरे सम्मिलन कथन में करें।

+0

इस एक संग्रहीत प्रक्रिया या एक ट्रिगर है? – Biscuit128

+0

इसकी संग्रहीत प्रक्रिया। देखें 'प्रक्रिया बनाएं' है। क्या आप हमें 'प्रयोज्य' और 'संपर्क जानकारी' की स्कीमा दे सकते हैं? तब मैं बेहतर समझूंगा और तदनुसार अपनी प्रक्रिया बदल दूंगा –

0

आप table2 पर एक ही मूल्यों को सम्मिलित करने के table1 पर एक ट्रिगर बना सकते हैं।

2

आप एक अद्यतन करने योग्य या सम्मिलनीय दृश्य में सम्मिलित कर सकते हैं जो जॉइन के साथ दो अलग-अलग तालिकाओं का संदर्भ दे सकता है, प्रलेखन here पर एक नज़र डालें।

संबंधित मुद्दे