2011-12-04 11 views
26

मेरी innodb तालिका में निम्न संरचना है: 4 कॉलम (CountryID, Year, %Change, Source), 2 कॉलम (CountryID, Year) प्राथमिक कुंजी के रूप में। प्रत्येक पंक्ति को हटाने के लिए फॉर-लूप का उपयोग करने के अलावा मैं कई पंक्तियों को कैसे हटा सकता हूं?MySQL में समग्र प्राथमिक कुंजी के रूप में 2 कॉलम के साथ एकाधिक पंक्तियों को कैसे हटाएं?

मैं कुछ इसी तरह की तलाश में हूँ

DELETE FROM CPI 
WHERE CountryID AND Year IN (('AD', 2010), ('AF', 2009), ('AG', 1992)) 

आगे कोई भी बदलाव के बाद जवाब मिला रहे हैं:

DELETE FROM CPI 
WHERE (CountryID, Year) IN (('AD', 2010), ('AF', 2009), ('AG', 1992)) 

आशा इस मदद करता है वहाँ किसी को भी एक ही अचार में।

+0

क्या आप त्रुटि संदेश पोस्ट कर सकते हैं? क्या काम नहीं कर रहा है ऐसा लगता है कि यह मेरे लिए काम करना चाहिए। क्या आपके पास निर्भर टेबल हैं? –

+0

हाय कार्ल। हम्म .. मैंने आपकी टिप्पणी देखने के बाद बस अपना प्रश्न स्पष्ट किया। उम्मीद है कि संपादन बेहतर बताता है। –

+0

woops, इसे मिला। उत्तर को दर्शाने के लिए प्रश्न संपादित किया। सबको धन्यवाद! –

उत्तर

29

Oracle में जवाब है:

delete from cpi 
where (countryid, year) in (('AD', 2010), ('AF', 2009), ('AG', 1992)) 

यह काफी मानक SQL सिंटैक्स है और मुझे लगता है कि MySQL में ही है।

+0

अहहा, बस इसके लिए मेरा प्रश्न संपादित किया। धन्यवाद बेन! –

+2

यह MySQL –

+1

धन्यवाद में काम करता है! MySQL में भी कोशिश की और यह एक आकर्षण की तरह काम करता है! –

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