2010-08-09 18 views
7

MySQL में, क्या टिकटेंनाम को टिकमार्क के साथ घूमना आवश्यक है? मैंने अक्सर कोड स्निपेट्स को देखा है जो टिकटें का उपयोग करते हैं, लेकिन मुझे ऐसे मामले का सामना नहीं हुआ है जहां टिकटें के साथ एक टैबलेटनाम के आसपास नहीं है, इससे कुछ अलग है।MySQL - आसपास के टेबल नाम की आवश्यकता `(टिकटें) के साथ?


ऐसा लगता है कि मैं फ्रेमवर्क के साथ स्वचालित रूप से पारदर्शी शब्द कुंजी नामों के साथ काम करता हूं। जब तालिका या स्तंभ नाम mySQL keywords का उपयोग

+2

इस तरह के एक तुच्छ सवाल का जवाब नहीं दिया जाना चाहिए। –

+0

कृपया मेरे पिछले कुछ प्रश्नों के उत्तर देने का प्रयास करें। – ina

+1

@ कोल। श्रापनेल - विवादों से बचने के लिए हमेशा सर्वोत्तम होता है। कोई भी दूसरों को कुछ करने में मजबूर नहीं कर सकता, जब तक कि डू-एर की अपनी सहमति/आग्रह न हो। ** राजनयिक होने का प्रयास करें, लेकिन मैं समझ सकता हूं कि इसका पालन करना हमेशा संभव नहीं होता है। ** –

उत्तर

8

tickmarks तालिका वहाँ अलग करने के लिए कर रहे हैं (या स्तंभ!) एसक्यूएल से नाम शब्द सुरक्षित। उदाहरण के लिए, टिकटें के बिना, update नाम की एक तालिका या कॉलम SQL कमांड update के साथ संघर्ष कर सकता है।

यह सबसे अच्छा अभ्यास है कि पहले स्थान पर आरक्षित शब्दों के साथ तालिकाओं और स्तंभों का नाम न दें, लेकिन यदि आप किसी नए डेटाबेस इंजन (या संभवतः यहां तक ​​कि एक नया MySQL संस्करण) के लिए एक अनुप्रयोग पोर्ट करते हैं, तो यह अलग हो सकता है आरक्षित शब्दों का सेट, तो हो सकता है कि आपने अपना एप अभी भी तोड़ दिया हो। इस तरह के ओप्स के खिलाफ टिकटें आपका बीमा हैं।

+4

बैकटीक्स MySQL- विशिष्ट हैं, हालांकि - अन्य डीबी इंजन पहचानकर्ताओं के लिए अलग-अलग उद्धरणों का उपयोग करते हैं, जैसे SQL सर्वर [TableName] या ANSI SQL "टेबलनाम" (डबल कोट्स)। – cHao

+0

हम्म। तो एक सुविधा जो पोर्टेबिलिटी के लिए उपयोगी सहायता हो सकती है वह कार्यान्वयन-विशिष्ट है। –

+1

@ ब्रायन: हे, हाँ, अब वह सीएचओओ ने कहा कि, मैंने थोड़ा करीब देखा है। MySQL _only_ डीबीएस नहीं है जो बैकटीक्स का समर्थन करता है, लेकिन यह मुख्य है। प्रत्येक डीबीएस इसे एक अलग तरीके से करना पसंद करता है। वे _do_ सभी सादा डबल-उद्धृत पहचानकर्ताओं का समर्थन करते प्रतीत होते हैं, लेकिन कुछ ऐसा करने के लिए किसी विशेष विकल्प या मोड को स्पष्ट रूप से चालू करने की आवश्यकता होती है। –

2

यह केवल तभी जरूरी है जब आपका टेबल नाम गैर-शब्द "वर्ण" वर्णों से बना है (यानी: अक्षरों, संख्याओं और अंडरस्कोर के अलावा कुछ भी), या MySQL में किसी कीवर्ड के समान होता है। यह नाम उद्धृत करने के लिए कभी भी "बुरा" नहीं है, लेकिन यह बुरा नहीं है कि आपको कब करना है, ऐसे कई प्रोग्राम जो MySQL क्वेरी उत्पन्न करते हैं वे रूढ़िवादी होंगे और नाम उद्धृत करेंगे - यह इस तरह से आसान है।

+1

मुझे यह जानना अच्छा लगेगा कि क्यों हर कोई टिप्पणी के साथ डाउनवॉट किया गया है, यहां तक ​​कि "न्याह" भी नहीं! : पी – cHao

+0

@ col-shrapnel पूछें ... लड़का मुझे नीचे दबाता है, मेरी पोस्ट और दूसरों के उत्तरों को वोट देता है, और शिकायत करता है कि मुझे अपना स्वीकार करना चाहिए। विडंबना यह है कि उसने कभी भी मेरे किसी भी प्रश्न का उत्तर नहीं दिया है। और उसका स्वीकार्य अनुपात केवल 50% – ina

+0

ऐसा लगता है जैसे इस प्रश्न पर हर कोई एक बार डाउनवॉट हो गया .. जो मैं कहूंगा वह थोड़ा मोटा है! – Dexter

2

मैं एक बार में एक नौकरी है, जहां वे "स्थान" के एक डेटाबेस था पर काम किया। उन्होंने इसे राज्य कहा। और तालिका में सबकुछ था प्रत्येक तालिका का नाम राज्य कोड द्वारा रखा गया था। तो मिसौरी एमओ था, और अरकंसास एआर था।

कई राज्य कोड भी आरक्षित शब्द या (ओरेगन) हैं, और में (इंडियाना), और पर (ओंटारियो) ... मैं वास्तव में एक राज्य नहीं पता।

यहां तक ​​कि यद्यपि मुझे लगता है कि उनके डेटाबेस डेटा के आयोजन का बेहतर तरीके थे, वहाँ मामलों में जहां लोगों को चीजें एक आरक्षित शब्द का नामकरण करना चाहते हैं। यह एक उदाहरण है जहां `` अंक कोड काम कर रहे थे। इससे पहले कि आप कुछ पिछले अभियानों को स्वीकार

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