2012-01-08 12 views
6

नाम में यूनिकोड वर्णों के साथ तालिका नहीं बना सकता है I My नेविगेट में MySQL】 में एक तालिका बनाते हैं, लेकिन इसे पूरा नहीं कर सकता।नाम

यह मेरा कोड है।

CREATE table `成绩表`(
`学号` char(10), 
`课号` char(10), 
`成绩` int, 
PRIMARY KEY(`学号`, `课号`) 
) 

error: 
[SQL] CREATE table `成绩表`(
`学号` char(10), 
`课号` char(10), 
`成绩` int, 
PRIMARY KEY(`学号`, `课号`) 
) 

[Err] 1005 - Can't create table '成绩表' (errno: 22) 
+0

सवाल क्या है? – jalf

+3

क्या ये वर्ण यूनिकोड मूल बहुभाषी विमान का हिस्सा हैं? http://dev.mysql.com/doc/refman/5.1/en/identifiers.html –

+4

_ASCII एनयूएल (यू +0000) और अनुपूरक वर्णों (यू +0000 और उच्चतर) को उद्धृत या अज्ञात पहचानकर्ताओं में अनुमति नहीं है ._ से ऊपर दस्तावेज़ लिंक ... –

उत्तर

1

MySQL manual के अनुसार यह मेज और स्तंभ नाम के लिए U + FFFF अप करने के लिए U + 0001 से यूनिकोड को संभालने में सक्षम है - तो आप के लिए कारण सबसे अधिक संभावना को देखने के कुछ खुदाई की आवश्यकता होगी:

त्रुटि संदेश कहता है errno22 है जो आईआईआरसी invalid argument के लिए ओएस त्रुटि कोड में अनुवाद करता है। इसका मतलब यह है कि कहीं भी MySQL के अंदर गहरे रास्ते के साथ कुछ ऐसा कार्य होता है जिसे तर्क दिया जाता है कि यह स्वीकार नहीं कर सकता है।

मुझे संदेह होगा कि कॉल रनटाइम और/या ओएस से कहा जाता है और यह संभवतः फाइल सिस्टम से संबंधित है।

बदले में यह या तो एक बग या MySQL के कुछ अस्पष्ट व्यवहार आप उपयोग कर रहे ओएस/फाइल सिस्टम/सेटअप के साथ बातचीत है इसका मतलब है कि ...

मैं निश्चित रूप से है कि जब से इस बारे में MySQL/Oracle संपर्क करने की सिफारिश करेंगे आईएमएचओ जो कुछ भी संभाल सकता है उससे कहीं अधिक है ...

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