it-swarm.com.de

Wie können Sie eine nicht ausgeführte MySQL-Abfrage in der Befehlszeile löschen?

Angenommen, Sie geben eine Befehlszeilenabfrage in eine MySQL-Datenbank ein und müssen abbrechen und neu beginnen. Von einer Bash-Shell aus können Sie einfach ctrl-c eingeben und ein neues Prompt erhalten. In MySQL würde ctrl-c den Client beenden und Sie zur Shell zurückkehren. 

Zum Beispiel habe ich eine lange, komplexe SELECT-Anweisung eingegeben, aber ich habe noch nicht die Eingabetaste gedrückt. Mir ist klar, dass ich den Befehl nicht senden möchte, aber ich möchte den Befehl auf dem Bildschirm haben, damit ich ihn als Referenz verwenden kann. Ich möchte aussteigen, ohne MySQL zu beenden. Irgendwelche Ideen?

Schlüsselpunkt: der Befehl wurde noch nicht ausgeführt .

63
Logan

Geben Sie \c ein.

Wenn Sie MySQL starten, wird wahrscheinlich die folgende Meldung angezeigt:

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Der "Puffer", auf den es sich bezieht, ist der Befehls-/Abfragepuffer.

99
ruakh

Erster Typ Ctrl+a, dann Ctrl+k.

39
untill

Verwenden Sie eine der folgenden Tastenkombinationen, um die aktuelle Zeile zu löschen:

  • Art Ctrl + u um alles vom Cursor zurück zum Zeilenanfang zu löschen
  • Art Ctrl + k um alles vom Cursor bis zum Zeilenende zu löschen

Ansonsten wie schon angegeben Typ \c am Ende der aktuellen Zeile (eine Abkürzung für den Befehl clear) und drücken Sie dann Enter.

15
bladerz

In MySQL 5.7 wurde dies behoben. Sie können jetzt ctrl-c ausführen, um die SQL-Befehlszeile zu verlassen.

1
dkniffin

Hängt von den Tastenzuordnungen Ihrer Shell ab. Sie können nach Hause drücken oder die Tastenkombination verwenden, um zum Anfang zurückzukehren, die Abfrage mit X voranstellen oder was immer sie syntaktisch ungültig machen soll

0
atxdba

Wenn Sie hofften, in Transact-SQL dieselbe Antwort zu finden, geben Sie RESET

0
Helzgate