में चुनें मेरे पास एक mysql तालिका 'अल्फा' है जिसमें एक कॉलम में किसी अन्य तालिका 'बीटा' की प्राथमिक कुंजी होगी। लेकिन अगर 'बीटा' में प्रविष्टि नहीं मिल पाती है तो मैं 'बीटा' में मान डालना चाहता हूं और 'अल्फा' में नई कुंजी का उपयोग करना चाहता हूं। क्या मैं इसे किसी एक प्रश्न में कर सकता हूं?डालें यदि मौजूद नहीं है तो बस mysql
मैं वर्तमान में है:
INSERT INTO alfa SET c1=(SELECT id FROM beta WHERE name = 'john');
जो ठीक काम करता है जब 'जॉन' तालिका में मौजूद है, लेकिन अन्यथा विफल रहता है। तो क्या मैं इसे नया नाम डालने और चुनने के लिए बेहतर कर सकता हूं यदि यह पहले से मौजूद नहीं है? आईडी auto_incremented है।
मैंने आईएफ को देखने की कोशिश की है लेकिन अभी तक पता नहीं चला है कि चयन के बाहर IF का उपयोग कैसे करें, क्या यह संभव है?
मुझे पता है कि मैं इसे कई प्रश्नों में कर सकता हूं लेकिन मैं एक दूरस्थ डेटाबेस से बात कर रहा हूं, इसलिए यह सब एक बार में अच्छा लगा।
उदाहरण के लिए टेबल इस तरह बनाया जा सकता था:
CREATE TABLE alfa (
c1 int,
PRIMARY KEY (c1)
)
CREATE TABLE beta (
id int auto_increment,
name varchar(255),
PRIMARY KEY (id)
)
तो alfa.c1 beta.id मूल्यों देखना चाहिए।
संक्षेप में मैं क्या करना चाहते हैं:
अल्फा में c1 में बीटा मेज से जॉन के लिए आईडी डालें, अगर जॉन बीटा में मौजूद नहीं है तो बीटा में जॉन डालें और डालने नई ऑटो के लिए आईडी की संख्या बढ़ अल्फा में सी 1 में जॉन।
क्या आप संभवतः अपना प्रश्न संपादित कर सकते हैं, और कम से कम टेबल संरचनाएं डाल सकते हैं? यह अस्पष्ट है कि आपके पास बीटा में अतिरिक्त जानकारी होगी? और यदि संभवतः अल्फा के पास कोई कुंजी हो, तो यह बीटा में अभी तक नहीं बनाया गया है? –
मैंने अब और जानकारी जोड़ने की कोशिश की है। – Zitrax