मुझे mysql तालिका वर्णमाला में समस्या है। मेरे डेटाबेस में प्रत्येक तालिका में डिफ़ॉल्ट वर्णमाला है। उदाहरण के लिए:MySQL डिफ़ॉल्ट तालिका वर्णसेट को डेटाबेस वर्णसेट में बदलता है
CREATE TABLE privacy_settings (
id_privacy_setting int(11) NOT NULL AUTO_INCREMENT,
id_account int(11) NOT NULL,
setting_name varchar(255) NOT NULL DEFAULT '0',
privacy_level int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (id_privacy_setting),
KEY fk_privacy_settings_accounts (id_account),
CONSTRAINT fk_privacy_settings_accounts FOREIGN KEY (id_account) REFERENCES accounts (id_account) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8
मैं डिफ़ॉल्ट CHARSET ब्लॉक निकालना चाहते हैं, तो तालिका डेटाबेस डिफ़ॉल्ट चारसेट इस्तेमाल कर सकते हैं:
CREATE TABLE privacy_settings (
id_privacy_setting int(11) NOT NULL AUTO_INCREMENT,
id_account int(11) NOT NULL,
setting_name varchar(255) NOT NULL DEFAULT '0',
privacy_level int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (id_privacy_setting),
KEY fk_privacy_settings_accounts (id_account),
CONSTRAINT fk_privacy_settings_accounts FOREIGN KEY (id_account) REFERENCES accounts (id_account) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB
वहाँ मेज पुनः बनाने के बिना यह करने के लिए कोई तरीका है?
मुझे पता है, लेकिन जब मैं ऐसा करते हैं, 'डिफ़ॉल्ट CHARSET' ब्लॉक मेरी मेज परिभाषा – Ris90
से न निकले आप तब पूरे डेटाबेस को बदलना चाह सकते हैं। मैंने जवाब में और जानकारी जोड़ दी है। मुझे संदेह है कि डिफ़ॉल्ट वर्णमाला और सक्रिय वर्णमाला आपकी तालिका के लिए अलग हो सकती है, लेकिन यह इस बात पर निर्भर करती है कि आप परिभाषा कैसे उत्पन्न कर रहे हैं। 'तालिका बनाएं tbl_name' को काम करना चाहिए। चरित्र सेट को बदलने के लिए 'वैकल्पिक तालिका' कथन निष्पादित करने के बाद, 'तालिका बनाएं ...' क्वेरी नई वर्ण सेट को डिफॉल्ट चार्ट के रूप में दिखाती है। वर्णमाला/collations की सूची प्राप्त करने के लिए, ['COLOWATION' दिखाएं] का उपयोग करें (http://dev.mysql.com/doc/refman/5.1/en/show-collation.html)। – JYelton
मैं टेबल परिभाषा से DEFAULT CHARSET ब्लॉक को पूरी तरह से निकालने के लिए wannt नहीं चाहता, तालिका के लिए डिफ़ॉल्ट वर्णसेट का पीछा न करने के लिए, लेकिन प्रत्येक तालिका को डेटाबेस एन्कोडिंग – Ris90