Ich habe MySQL installiert. Jetzt stecke ich in der MySQL-Eingabeaufforderung fest. Ich habe MySQL folgendermaßen ausgeführt:
C:\>mysql.exe
mysql>
Dann gebe ich einen ungültigen Befehl wie diesen ein:
mysql> /version
->
Und egal was ich tippe, ich kann MySQL-Kommandozeile / Terminal nicht beenden. Z.B:
exit
CtrlC
CtrlD
quit
Ctrl\
CtrlZ
bye
Wie verlasse ich das MySQL-Terminal zum Standard-Terminal?
windows
command-line
mysql
exit
Eric Leschinski
quelle
quelle
Antworten:
Um die andere Antwort zu ergänzen, können Sie die aktuelle ungültige Abfrage einfach mit einem Semikolon beenden:
Oder mit
\G
(was dazu führen soll, dass Zeilen vertikal angezeigt werden):Natürlich setzen beide Optionen voraus, dass Sie kein Eröffnungsangebot haben. Wenn Sie dies tun, müssen Sie es zuerst mit einem abschließenden Zitat abschließen.
quelle
->
,'>
,">
,`>
, und/*>
ich es wieder auf den neuesten Versionen getestet, und es funktionierte richtig. Es sieht also nach einem behobenen Fehler aus.Warum beendet Strg-C den MySQL-Eingabemodus in Windows nicht?
Weil Sie MySQL angewiesen haben, Ihre Exit-Befehle als gültige Eingabe zu interpretieren.
Das MySQL-Terminal ist nur schwer zu verstehen, da es verschiedene Modi für einfache Anführungszeichen, doppelte Anführungszeichen und normale Anführungszeichen gibt.
Um den MySQL-Eingabemodus zu verlassen, müssen Sie die folgenden Schritte ausführen:
Das grundlegendste Beispiel:
Sie haben den Standardmodus im obigen Beispiel nie verlassen, damit die Exit-Befehle ordnungsgemäß funktionieren.
Beispiel 2 (das ist es, was dich auslöst).
Während Sie sich im einfachen oder doppelten Anführungszeichenmodus befinden, werden keine Escape-Sequenzen berücksichtigt. Gerade Ctrl-Cund Ctrl-Dwerden in diesen Modi ignoriert.
In welchem der 26 Universen stoppt Strg-C ein Programm nicht unabhängig vom Modus? Wir werden es vielleicht nie erfahren. Bazinga.
quelle
SQL unterstützt Abfragen, die als mehrere Zeilen eingegeben wurden. Nur wenn Sie ein Semikolon eingeben,
;
wird die Abfrage ausgeführt. Sie müssen auch alle Zeichenfolgen in Ihrer Abfrage beendet haben.Achten Sie auf das Kopieren und Einfügen von Abfragen mit Zeichenfolgen aus einem Textverarbeitungspaket. Möglicherweise wurden Anführungszeichen durch "intelligente Anführungszeichen" ersetzt, was Ihre Abfrage durcheinander bringt.
Wenn Sie eine nicht abgeschlossene Abfrage eingegeben haben, wird sie nicht ausgeführt, und deshalb funktioniert die Eingabe von exit nicht - MySQL glaubt, dass Sie sich noch mitten in einer Abfrage befinden. Die Eingabeaufforderung ändert sich und zeigt an, welche Eingaben zum Beenden der Abfrage erforderlich sind. Beispielsweise kann ein Anführungszeichen oder ein doppeltes Anführungszeichen erforderlich sein. Das ist mächtig und die Eingabeaufforderung ist hilfreich, aber ich fand es verwirrend, bis ich die Antworten und Kommentare zu diesem Thread gelesen habe.
Lesen Sie die Spezifikation hier
Die Eingabeaufforderung der obersten Ebene lautet:
MySQL>
Wenn Sie dies sehen, können Sie einen Befehl eingeben und mit beenden. und drücken Sie die Eingabetaste.
Wenn Sie eine Eingabeaufforderung wie diese sehen:
Dann wartet MySQL darauf, dass Sie einen String mit einem Anführungszeichen oder eine Abfrage mit einem Semikolon abschließen.
So weisen Sie MySQL an, Ihre verkorkste, nicht abgeschlossene Abfrage abzubrechen und zur Hauptaufforderung zurückzukehren:
Ich halte dies für sicherer, als Ihre unbeabsichtigte Abfrage zu beenden und auszuführen. Danach sollten Sie wieder zur Eingabeaufforderung> zurückkehren und können mit folgendem Befehl beenden:
quelle
\q
erledigt den Job für mich. Ubuntu Terminal verwenden.quelle
Sie können versuchen, mit Ctrl+ Shift+ zu fliehenD
quelle