2012-09-11 16 views
9

कभी-कभी मैं अपने एसक्यूएल क्वेरी को अर्धविराम से समाप्त करना भूल जाता हूं ";" मेरे मैक टर्मिनल में। जब ऐसा होता है, टर्मिनल शुरुआत में -> सेट करता है और मैं इसे बाहर निकलने में सक्षम नहीं हूं या किसी अन्य SQL आदेश को चलाने में सक्षम नहीं हूं।मैं अर्धविराम भूल गया ";" एक MySQL टर्मिनल क्वेरी में। मैं कैसे बाहर निकल सकता हूं?

मैं इससे कैसे बाहर निकल सकता हूं?

+3

सिर्फ टाइप 'मेरे लिए काम किया की कोशिश कर सकते कर सकते थे; \ –

+0

n' बस नहीं चाहेंगे टाइप करना ';' इसे करें? MySQL क्वेरी और अर्धविराम के अंत के बीच सभी रिक्त स्थान और न्यूलाइन को अनदेखा करना चाहिए। – SexyBeast

उत्तर

14

आप MySQL टर्मिनल के 5 अलग-अलग उद्धरण मोड से अनजान हैं। मेरा सुझाव है कि आप उनकी समीक्षा:

https://dev.mysql.com/doc/refman/5.0/en/entering-queries.html

ऊपर के लिंक के प्रासंगिक भागों:

निम्न तालिका संकेतों आप देख सकते हैं और हो सकता है में से प्रत्येक से पता चलता सारांशित करता है कि वे क्या स्थिति के बारे में मतलब mysql है कि में।

Prompt Meaning 
mysql> Ready for new command. 

->  Waiting for next line of multiple-line command. 

'>  Waiting for next line, waiting for completion of a string 
     that began with a single quote (“'”). 

">  Waiting for next line, waiting for completion of a string 
     that began with a double quote (“"”). 

`>  Waiting for next line, waiting for completion of an 
     identifier that began with a backtick (“`”). 

/*>  Waiting for next line, waiting for completion of a 
     comment that began with /*. 

MySQL 5.0 श्रृंखला में, /*> शीघ्र MySQL 5.0.6 में लागू किया गया था।

एकाधिक लाइन स्टेटमेंट आमतौर पर दुर्घटनाग्रस्त होते हैं जब आप एक पंक्ति पर कमांड जारी करना चाहते हैं, लेकिन समाप्ति अर्धविराम भूल जाते हैं। इस (क्या आप एक बयान डाला है, लेकिन केवल प्रतिक्रिया एक है लगता है -> शीघ्र) आपके साथ ऐसा होता तो

mysql> SELECT USER() 
    -> 

, सबसे अधिक संभावना mysql अर्धविराम के लिए इंतज़ार कर रहा है: इस मामले में, mysql अधिक निवेश के लिए इंतजार कर रहा है । अगर आपको यह नहीं पता कि प्रॉम्प्ट आपको क्या बता रहा है, तो आपको यह समझने से पहले थोड़ी देर के लिए वहां बैठना होगा कि आपको क्या करना है। कथन को पूरा करने के लिए अर्द्धविराम दर्ज करें, और mysql यह कार्यान्वित:

TLDR:

बाहर निकलने के लिए, टाइप करें \c, ;, ctrl-c या ctrl-d। तो उन सभी असफल हो, '<enter>, "<enter>, या */<enter> टाइप करके बोली मोड से बाहर निकलने में हो

3

बस प्रकार \ वर्तमान इनपुट बयान

3

बस प्रकार स्पष्ट करने के लिए ग "," और दर्ज मारा। जब आप कमांड लाइन मोड में क्वेरी को पूरा करना चाहते हैं तो आप कई इनपुट लाइनों का उपयोग कर सकते हैं। तो आप कुछ ऐसा कर सकते हैं:

>SELECT 
>* 
>FROM 
>table 
>WHERE 
>id=5 
>; 

यदि आप चाहें तो।