मैं ऐसा प्रोग्राम रखने की सोच रहा हूं जो आवश्यकता के रूप में गतिशील रूप से नई तालिकाओं को बनाता है। क्या मेरे पास MySQL में केवल संख्याओं के साथ नामित टेबल हो सकते हैं? MySql में वस्तुओं नामकरण, टेबल सहित के लिएक्या आपको MySQL में तालिका नामों के रूप में संख्याओं का उपयोग करने की अनुमति है?
उत्तर
नियम:
http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
पहचानकर्ता लेकिन जब तक उद्धृत केवल अंकों की मिलकर बनता है नहीं हो सकता है एक अंक से शुरू हो सकता है।
तो यह अवैध होगा:
SELECT * FROM 12345;
लेकिन निम्नलिखित मान्य होगा:
SELECT * FROM `12345`;
या अगर एएनएसआई मोड में चल रहा निम्नलिखित काम करेगा:
SET @@session.sql_mode=ANSI_QUOTES;
SELECT * FROM "12345";
करीम और स्टीव वीट ने बताया, हां, तो आप कर सकते हैं, लेकिन आप उन्हें इस तरह उद्धृत करने के लिए होगा:
SELECT * FROM `3516`
मैं शायद हालांकि अपनी स्क्रिप्ट पुनर्विचार करने का सुझाव सकता है? एक उपसर्ग जोड़ें: "t3516" नाम की एक तालिका केवल "3516" के रूप में भ्रमित नहीं होगी।
इसके अलावा, आप बस किसी भी संख्या के बजाय पत्र का उपयोग करने के नंबर परिवर्तित कर सकते हैं:
table 0 - t_a
table 1 - t_b
table 2 - t_c
table 25 - t_z
table 26 - t_aa
table 27 - t_ab
... etc
, karim79 द्वारा दिए गए के रूप में जब तक आप तालिका नाम उद्धृत करने के लिए ध्यान रखना जवाब है, हां में है। आप निश्चित रूप से एक संख्या के साथ उपसर्ग का उपयोग कर सकते हैं, उदाहरण के लिए। mytable1, mytable2, ...; जो उद्धरण के बिना काम करेगा।
उसने कहा, आपको वास्तव में इस बारे में सोचना चाहिए कि आप इतनी सारी टेबल क्यों बनाना चाहते हैं। चीजों को करने का स्वीकार्य तरीका एक सारणी में एक साथ है जो सब कुछ है। तो table1, table2 होने के बजाय ... आप एक टेबल का उपयोग करेंगे, और संख्या को कॉलम में स्टोर करेंगे।
यह सिर्फ प्राकृतिक तरीका है। चीजों को करने का आपका तरीका आसानी से कई समस्याओं का कारण बन सकता है (डीबी स्कीमा बदलना बैकअप के लिए समस्याग्रस्त है, कई तालिकाओं के कारण अन्य उपकरणों के लिए डीबी के साथ काम करना मुश्किल हो जाता है, स्कीमा परिवर्तन सभी तालिकाओं में किया जाना चाहिए)। रनटाइम पर अपनी स्कीमा को गतिशील रूप से बदलना आम तौर पर एक अच्छा विचार नहीं है।
सुनिश्चित नहीं हैं कि क्या मतलब है। जवाब निश्चित रूप से हां है जब तक आप पहचानकर्ता इसे हर बार बचते हैं। साथ ही, मैं कई मामलों में आया हूं जहां टेबल नाम स्वचालित रूप से जेनरेट किए गए डेटाबेस में पूर्णांक हैं। – techdude
@techdude: मैं "क्रमांकित तालिकाओं" वाले डेटाबेस में कभी नहीं आया हूं। आपने उन्हें कहाँ देखा? और वे क्यों इस्तेमाल किया गया था? मैं उत्सुक हूँ ... – sleske
विशिष्ट स्थान महत्वपूर्ण नहीं है (या सार्वजनिक)। कुंजी यह है कि आप टेबल नामों के लिए संख्याओं का उपयोग कर सकते हैं। पूछने वाले के प्रश्न को और संबोधित करने के लिए, एक संभावित उपयोग यह होगा कि आपके पास एक मास्टर टेबल है जहां प्रत्येक पंक्ति आपके द्वारा बनाई गई एक नई तालिका से मेल खाती है (और तालिका के बारे में अन्य जानकारी हो सकती है) जबकि एक ऑटो increment integer कॉलम भी देता है तालिका के लिए पूर्णांक बनाया जाएगा। इस मामले में इसे स्ट्रिंग बनाने की कोई आवश्यकता नहीं है, क्योंकि पूर्णांक तालिका नाम (और उस मामले के लिए कॉलम नाम) सभी प्रमुख डीबीएमएस द्वारा समर्थित हैं। – techdude
मुझे लगता है कि यह सभी कोज़ पर बेहतर नहीं होना चाहिए, यह अधिक भ्रमित और याद रखना मुश्किल होगा। टेबल नाम उस डेटा के लिए प्रासंगिक होना चाहिए जो इसे संग्रहीत कर रहा है। यह एक बेहतर आदत है।
बैकटिक (`) का उपयोग टेबल नाम को उद्धृत करने के लिए करें यदि यह पूरी तरह से संख्या है। यह कीबोर्ड पर esc बटन के नीचे है
- 1. डेटा संख्याओं के कॉलम नामों के रूप में आर संख्या
- 2. क्या आपको मूल्य के बिना इनपुट करने की अनुमति है?
- 3. क्या जावास्क्रिप्ट संपत्ति नामों में डैश की अनुमति है?
- 4. जावास्क्रिप्ट आपको संख्याओं पर सीधे तरीके से कॉल करने की अनुमति क्यों नहीं देता है?
- 5. SQL तालिका नामों में संख्याओं को शामिल करने के लिए अच्छा या बुरा विचार?
- 6. MySQL में निहित लेनदेन की अनुमति है?
- 7. क्या आपको Python में func_defaults (पायथन 3.x में __defaults__) को संशोधित करने की अनुमति है?
- 8. क्या उपयोगकर्ता नामों में यूनिकोड की अनुमति होनी चाहिए?
- 9. mysql तालिका नाम में वाइल्डकार्ड का उपयोग
- 10. MongoDB फ़ील्ड नामों में किन पात्रों की अनुमति नहीं है?
- 11. केसीफ़िंडर 'आपको फ़ाइलों को सूचीबद्ध करने की अनुमति नहीं है।'
- 12. आपको '...' पैकेज जानकारी संपादित करने की अनुमति नहीं है
- 13. क्या ऑर्डर करने वाले एसटीएल कंटेनर में कुंजी के रूप में पॉइंटर्स की अनुमति है?
- 14. क्या जावा का दावा कथन आपको एक संदेश निर्दिष्ट करने की अनुमति दे सकता है?
- 15. HTTP यूआरएल - पैरामीटर नामों में वर्णों की अनुमति
- 16. क्या आपको Node.js में path.join का उपयोग करने की आवश्यकता है?
- 17. MYSQL बायाँ में तालिका नाम के रूप में चर का उपयोग कर क्वेरी शामिल हों
- 18. MYSQL - प्रत्येक तालिका में पंक्तियों की संख्या
- 19. क्या MySQL ऑटो वृद्धि उपयोगकर्ता आईडी के रूप में उपयोग करने के लिए सुरक्षित है?
- 20. PHP - संख्याओं के साथ फ़ाइल नामों की एक सरणी सॉर्टिंग?
- 21. डार्ट में संग्रह/सूची में संख्याओं की संख्या प्राप्त करने का सबसे साफ तरीका क्या है?
- 22. एक डेटाबेस तालिका में नीचे की तरह के रूप में तेजी से संभव के रूप में
- 23. रूबी में क्या सुविधा है जो संख्याओं को मुद्रित करने के लिए "पी * 1..10" की अनुमति देता है?
- 24. तालिका की संरचना को बदले बिना तालिका में अंतिम एन पंक्तियों का चयन करने का सबसे प्रभावी तरीका क्या है?
- 25. क्या संख्याओं की पहचान स्कैनर में या पार्सर में है?
- 26. मुझे एक MySQL तालिका में परिवर्तनों का ऑडिट कैसे करना चाहिए (MySQL 4 का उपयोग करके)?
- 27. विजुअल स्टूडियो मुझे कुछ चर नामों का उपयोग करने की अनुमति नहीं देता
- 28. फेसबुक के साथ OAuthWebSecurity फेसबुक की अनुमति के रूप में ईमेल अनुमति का उपयोग नहीं कर रहा है
- 29. केस असंवेदनशील होने के लिए लिनक्स सर्वर में MySQL तालिका नामों को कैसे बदलें?
- 30. क्या इसे सीएसएस कीफ्रेम एनिमेशन में किसी भी दशमलव मान का उपयोग करने की अनुमति है?
कि दस्तावेज़ से प्रासंगिक हिस्सा शायद यह एक "पहचानकर्ता अंक के साथ शुरू हो सकता है लेकिन जब तक उद्धृत केवल डिजिट होने नहीं हो सकता है।" –