सवाल MySQL में अद्वितीय कैसे छोड़ें?


Create Table: CREATE TABLE `fuinfo` (
  `fid` int(10) unsigned NOT NULL,
  `name` varchar(40) NOT NULL,
  `email` varchar(128) NOT NULL,
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `fid` (`fid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

मैं अनन्य कुंजी को छोड़ना चाहता हूं email,किस तरह?


124
2017-10-14 08:07


मूल




जवाब:


MySQL में अनुक्रमणिका को हटाने के लिए बस आप निम्न SQL स्क्रिप्ट का उपयोग कर सकते हैं:

alter table fuinfo drop index email;

247
2017-10-14 08:12



ध्यान दें कि यदि कोई विदेशी कुंजी है तो आप इस तरह की कुंजी छोड़ने में सक्षम नहीं हो सकते हैं email कॉलम मौजूद है (त्रुटि 150)। इसे काम करने के लिए, पहले विदेशी कुंजी ड्रॉप करें, फिर इंडेक्स ड्रॉप करें, और बाद में विदेशी कुंजी को फिर से बनाएं। उदाहरण के लिए वैकल्पिक तालिका fuinfo डीआरओपी विदेशी कुंजी fk_name_for_email; - Brad Parks


एक बेहतर तरीका है जिसे आपको तालिका में बदलने की आवश्यकता नहीं है:

mysql> DROP INDEX email ON fuinfo;

जहां ईमेल अद्वितीय कुंजी (इंडेक्स) का नाम है।

आप इसे वापस ला सकते हैं:

mysql> CREATE UNIQUE INDEX email ON fuinfo(email);

जहां आईडीईएक्स के बाद ईमेल इंडेक्स का नाम है और यह वैकल्पिक नहीं है। आप INDEX के बजाय कुंजी का उपयोग कर सकते हैं।

इसके अलावा बहुआयामी अद्वितीय indecies बनाने (हटाने) संभव है कि:

mysql> CREATE UNIQUE INDEX email_fid ON fuinfo(email, fid);
mysql> DROP INDEX email_fid ON fuinfo;

यदि आपने मल्टीकॉलम इंडेक्स का नाम निर्दिष्ट नहीं किया है तो आप इसे इस तरह से हटा सकते हैं:

mysql> DROP INDEX email ON fuinfo;

जहां ईमेल कॉलम नाम है।


56
2017-10-28 10:31



ये सभी वास्तव में एक वैकल्पिक तालिका को वैसे भी करेंगे, इसलिए ऐसा नहीं है कि आप वास्तव में इससे परहेज कर रहे हैं। यह एक ही चीज़ के लिए सिर्फ एक अलग वाक्यविन्यास है। - mpeters


MySQL> ड्रॉप INDEX ईमेल पर fuinfo;

कहा पे ईमेल अद्वितीय कुंजी है (कॉलम नाम के बजाए)। आपको अनन्य कुंजी का नाम मिल जाता है

mysql> SHOW CREATE TABLE fuinfo;

यहां आप अद्वितीय कुंजी का नाम देखते हैं, जो कि ईमेल_2 हो सकता है, उदाहरण के लिए। इसलिए...

mysql> DROP INDEX email_2 ON fuinfo;

mysql> DESCRIBE fuinfo;

यह दिखाना चाहिए कि सूचकांक हटा दिया गया है


9
2017-08-02 13:35





ड्रोप इंडेक्स column_name Table_name पर

डेटाबेस का चयन करें और एसक्यूएल टैब क्वेरी करें। यह विशेष कॉलम की अनुक्रमणिका को हटा देता है। यह PHP MyADMIN में मेरे लिए काम किया


4
2018-03-18 11:44





नीचे क्वेरी का प्रयोग करें:

ALTER TABLE `table_name` DROP INDEX key_name;

यदि आप key_name नहीं जानते हैं तो पहले क्वेरी के नीचे आज़माएं, आप key_name प्राप्त कर सकते हैं।

SHOW CREATE TABLE table_name

या

SHOW INDEX FROM table_name;

यदि आप mysql तालिका से प्राथमिक कुंजी को निकालना / छोड़ना चाहते हैं, तो इसके लिए नीचे क्वेरी का उपयोग करें

ALTER TABLE `products` DROP INDEX `PRIMARY`;

कोड से लिया गया: http://chandreshrana.blogspot.in/2015/10/how-to-remove-unique-key-from-mysql.html


4
2018-06-06 06:19





यह दूसरों की मदद कर सकता है

alter table fuinfo drop index fuinfo_email_unique

2
2018-03-15 10:04





ALTER TABLE 0_value_addition_setup  DROP  INDEX   value_code

1
2017-10-04 09:49





कॉलम के यूक को हटाने के लिए इसे आज़माएं:

ALTER TABLE  `0_ms_labdip_details` DROP INDEX column_tcx

इस कोड को phpmyadmin में चलाएं और कॉलम के अद्वितीय को हटा दें


1
2018-03-29 09:57





MySQL 5.7.11 के लिए

चरण -1: पहले अनन्य कुंजी प्राप्त करें

इसे प्राप्त करने के लिए इस क्वेरी का प्रयोग करें:

1.1) टेबल उपयोगकर्ता बनाएं दिखाएं;

अंत में, यह इस तरह होगा:

.....

.....

अद्वितीय कुंजी UK_8bv559q1gobqoulqpitq0gvr6 (phoneNum)

.....

....

चरण -2: इस क्वेरी द्वारा अनन्य कुंजी निकालें।

वैकल्पिक तालिका उपयोगकर्ता ड्रॉप INDEX UK_8bv559q1gobqoulqpitq0gvr6;

चरण 3: इस क्वेरी द्वारा तालिका जानकारी जांचें:

डीईएससी उपयोगकर्ता;

यह दिखाना चाहिए कि सूचकांक हटा दिया गया है

बस इतना ही।


1
2017-08-15 07:26





 ALTER TABLE [table name] DROP KEY [key name];

यह काम करेगा।


0
2017-12-28 17:19



यह प्रश्न का उत्तर नहीं देता है। एक बार आपके पास पर्याप्त हो जाने के बाद प्रतिष्ठा तुम कर पाओ गे किसी भी पोस्ट पर टिप्पणी करें; बजाय, उन उत्तर प्रदान करें जिन्हें पूछताछ से स्पष्टीकरण की आवश्यकता नहीं है। - समीक्षा से - Mamun