2012-04-09 16 views
5

नामक कॉलम के साथ एक तालिका बनाना, मैं कभी भी टेक्स्ट प्रकार के कॉलम के साथ MySQL तालिकाओं को बनाने में सक्षम नहीं लग सकता। यहाँ मेरी MySQL है:सिंटेक्स त्रुटि 'desc'

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc text NOT NULL, admins text NOT NULL, mods text, members text, land text, en' at line 1 

मैं समझ नहीं क्या गलत है:

CREATE TABLE factions(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(16) NOT NULL, desc TEXT NOT NULL, admins TEXT NOT NULL, mods TEXT, members TEXT, land TEXT, enemies TEXT, allies TEXT) 

जब इसे चलाने है, मैं इस प्राप्त करें! मैं जावा का उपयोग कर रहा हूं अगर इससे कोई फर्क पड़ता है।

+1

एक reserverd शब्द है, मैं इन स्तंभों के अधिकांश के लिए यकीन है कि पाठ के आपके उपयोग कर रहा हूँ गलत – IcedDante

+1

है हाँ, के सबसे उन टेक्स्ट उपयोग बहुत खराब थे। सौभाग्य से, मैंने मूल रूप से इस सवाल से पूछा है कि मैंने एक बड़ा सौदा किया है। – Greg

+1

मुझे लगा कि शायद आपके पास था;) – IcedDante

उत्तर

14

desc एक आरक्षित शब्द है और को कॉलम के नाम के रूप में उपयोग नहीं किया जाना चाहिए। आप कॉलम के नाम के रूप में desc का उपयोग कर सकते हैं, लेकिन यदि आप करते हैं, तो आपको हमेशा इसे बैक-टिक में लपेटना होगा।

CREATE TABLE factions(
    id INT NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(id), 
    name VARCHAR(16) NOT NULL, 
    `desc` TEXT NOT NULL, 
    admins TEXT NOT NULL, 
    mods TEXT, 
    members TEXT, 
    land TEXT, 
    enemies TEXT, 
    allies TEXT 
); 

ऊपर परीक्षण किया है और काम करता है, लेकिन आप नाम बदलने के लिए चाहते हो सकता है के बाद से आप हमेशा (हर INSERT, UPDATE और DELETE में) बैक-टिक में लपेट करना होगा, या बस में मिलता है बैक-टिक्स में सभी फ़ील्ड लपेटने की आदत, जिसमें अन्य फायदे हैं।

0

desc एक आरक्षित शब्द है और नहीं एक मेज या स्तंभ के लिए एक नाम के रूप में नहीं दी जाएगी कर सकते हैं। आप कॉलम नाम के रूप में description का उपयोग कर सकते हैं। नाम बदलने के साथ, आपका कथन काम करना चाहिए।

+0

यह पूरी तरह से सही नहीं है। – Umbrella

1

परिवर्तन स्तंभ नाम desc किसी भी कुछ के बाद से अलग करने के लिए एक और नोट पर के लिए descend या describe

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