2010-02-25 15 views
17

में नया कॉलम जोड़ने का तरीका मुझे एक समस्या आई है जिसमें मेरे पास पहले से ही एक MYSQL तालिका में एक समग्र प्राथमिक कुंजी है। लेकिन अब मैंने उस तालिका में एक और कॉलम जोड़ा है और कुछ आवश्यकता परिवर्तनों के कारण, मुझे उस समग्र प्राथमिक कुंजी को इस तरह से संशोधित करना होगा कि मुझे उस समग्र प्राथमिक कुंजी सूची में पहले उल्लिखित कॉलम को जोड़ना होगा। क्या कोई मुझे बता सकता है कि मौजूदा समग्र प्राथमिक कुंजी को छोड़ दिए बिना उस तालिका को कैसे बदला जाए। मैं इसे रेल परियोजना में कर रहा हूंमौजूदा समग्र प्राथमिक कुंजी

+0

नोट मैं कॉलम कि समग्र प्राथमिक कुंजी – nash

+0

एक विदेशी एक आंशिक प्राथमिक कुंजी की कुंजी में हैं में से कुछ के लिए विदेशी कुंजी है? यह बुरा मोजो है। आपको वास्तव में एक ऑटो-वृद्धि प्राथमिक कुंजी पर स्विच करना चाहिए। – MindStalker

+0

किसी कुंजी को छोड़ना मूल्यों को नहीं छोड़ना चाहिए - आप पीके क्यों नहीं छोड़ सकते? – reech

उत्तर

25

आप प्राथमिक कुंजी को बदल नहीं सकते हैं। आपको इसे छोड़ना और पुनः जोड़ना होगा:

ALTER TABLE MyTable 
    DROP PRIMARY KEY, 
    ADD PRIMARY KEY (old_col1, old_col2, new_col); 
+0

यदि ऐसा प्राथमिक कुंजी छोड़ने से आपको रोकता है तो ऐसा करने का यह तरीका है – PrashanD

0

लेकिन यदि कोई कुंजी मौजूद नहीं है? उदाहरण:

ALTER TABLE xxxx ADD id INT NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(id,id2,id3); 
संबंधित मुद्दे