Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL अद्वितीय 1500 varchar फ़ील्ड त्रुटि (#1071 - निर्दिष्ट कुंजी बहुत लंबी थी)

चूंकि आप यूआरएल को link . में स्टोर कर रहे होंगे कॉलम, आपको वास्तव में इसके लिए UTF8 का उपयोग करने की आवश्यकता नहीं है, क्योंकि URL में केवल ASCII वर्ण हो सकते हैं। अपने link . के लिए एक सादा ASCII वर्ण एन्कोडिंग निर्दिष्ट करना कॉलम आपको इसकी अधिकतम लंबाई को 3072 वर्णों तक बढ़ाने की अनुमति भी देगा।

CREATE TABLE IF NOT EXISTS `pages` (
  `link` varchar(1500) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
  `domain` varchar(255) NOT NULL,
  `lastvisited` datetime DEFAULT NULL,
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  UNIQUE KEY `link` (`link`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC;

(ascii_bin . के लिए @eggyal के सुझाव के अनुसार अपडेट किया गया संयोजन)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BIRT में पैरामीटर इनपुट के बाद डेटा सेट क्वेरी को अपडेट करना

  2. कैननिकल फंक्शन EntityFunctions.TruncateTime MYSQL में मौजूद नहीं है

  3. क्या मैं MysQL टाइमस्टैम्प की तुलना डेटाटाइम कॉलम से कर सकता हूँ? क्या यह बुरा है?

  4. डीबी चयनित होने के बाद भी कोई डेटाबेस चयनित त्रुटि नहीं

  5. मैं MySQL क्वेरी संपादक में कॉलम कैसे पुन:व्यवस्थित करूं?