2012-09-11 9 views
9

A volte mi dimentico di terminare la query SQL con un punto e virgola ";" nel mio terminale Mac. Quando ciò accade, il Terminale imposta uno -> all'inizio e non riesco a uscire da questo oa eseguire altri comandi SQL.Ho dimenticato il punto e virgola ";" in una query di terminale MySQL. Come esco?

Come posso uscire da questo?

+3

basta digitare '; \ n' –

+0

non sarebbe solo digitando un ';' fallo? MySQL dovrebbe ignorare tutti gli spazi e le nuove righe tra la fine della query e il punto e virgola. – SexyBeast

risposta

14

Non si conoscono le 5 diverse modalità di quotazione del terminale mysql. Vi suggerisco di rivedere:

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

parti pertinenti del link qui sopra:

La tabella seguente mostra ciascuna delle istruzioni puoi visualizzare e riassume il loro significato per lo stato che MySQL è in.

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 /*. 

nella serie MySQL 5.0, la richiesta /*> stata attuata in MySQL 5.0.6.

Le istruzioni su più righe si verificano comunemente per caso quando si intende eseguire un comando su una singola riga, ma si dimentica il punto e virgola. In questo caso, mysql attende più input:

mysql> SELECT USER() 
    -> 

Se questo accade a voi (si pensa di aver inserito una dichiarazione, ma l'unica risposta è un prompt ->), molto probabilmente mysql è in attesa per il punto e virgola . Se non ti accorgi di ciò che ti sta dicendo il prompt, potresti sederti per un po 'prima di capire cosa devi fare. Inserire un punto e virgola per completare la dichiarazione, e mysql lo esegue:

TLDR:

Per uscire, tipo \c, ;, ctrl-c o ctrl-d. Se tutti coloro fail, uscire dalla modalità di citazione ci si trova digitando '<enter>, "<enter>, o */<enter>

3

Basta digitare \ c per cancellare l'istruzione di input corrente

3

Basta digitare ";" e premi invio. Puoi utilizzare tutte le linee di input che desideri per completare una query quando sei in modalità riga di comando. Quindi potresti fare qualcosa del tipo:

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

se ti piace.

3

potrebbe potrebbe provare "\q" che ha funzionato per me

Problemi correlati