यह डिफ़ॉल्ट mysql है (सीएलआई) व्यवहार हर बार जब उपयोगकर्ता टैब . दबाता है कुंजी (mysql अंतर्निहित रीडलाइन . का उपयोग करता है या संपादित करें पुस्तकालय (विंडोज़ पर नहीं))।
डिफ़ॉल्ट रूप से, जब उपयोगकर्ता use
. का अनुरोध करता है एक डेटाबेस, mysql टेबल और फ़ील्ड परिभाषाएँ पढ़ता है। फिर, टैब . दबाएं कुंजी mysql बनाती है ज्ञात तालिकाओं और क्षेत्रों के साथ वर्तमान इनपुट को आसानी से पूरा करने की पेशकश करता है।
हालांकि, कुछ टेक्स्ट को mysql . में पेस्ट करना जिसमें TAB वर्ण हों (\t
या 0x09
) समान व्यवहार को ट्रिगर करता है - भले ही कोई Tab . न हो कुंजी वास्तव में कीबोर्ड से दबाई गई थी। और यह कष्टप्रद हो सकता है।
mysql . को दो विकल्प दिए गए हैं हालांकि उस व्यवहार को रोक सकते हैं। मेरा पसंदीदा है --disable-auto-rehash
. दूसरा है --quiet
या -q
।
-
--disable-auto-rehash
डेटाबेस, टेबल और कॉलम नाम को पूरा होने से रोकने के लिए (जो डेटाबेस से नहीं पढ़े जाते हैं,rehash
का उपयोग करें आदेश अगर बाद में आपको पूरा करने की आवश्यकता है)। कमांड इतिहास रखा जाता है, हालांकि (↑ . के माध्यम से पुनर्प्राप्त और ↓ उदाहरण के लिए चाबियाँ)। जो सुविधाजनक है। -
--quick
या-q
जो mysql . बनाता है इतिहास . का उपयोग नहीं कर रहे हैं फ़ाइल और कोई पूर्णता नहीं (डेटाबेस परिभाषाओं को नहीं पढ़ता है)।
Linux पर कोई भी .bashrc
. में एक उपनाम जोड़ सकता है --disable-auto-rehash
का उपयोग करने के लिए स्वचालित रूप से
alias mysql2='mysql --disable-auto-rehash'