web-dev-qa-db-fra.com

Comment effacer une requête MySQL non exécutée à partir de la ligne de commande?

Supposons que vous tapez une requête en ligne de commande dans une base de données MySQL et que vous deviez annuler et recommencer. Depuis un shell bash, vous pouvez simplement taper ctrl-c et obtenir un nouveau message. Dans MySQL, ctrl-c quitterait le client et vous renverrait au shell. 

Par exemple, j'ai saisi une longue et complexe instruction SELECT, mais je n'ai pas encore appuyé sur return. Je me rends compte que je ne veux pas envoyer la commande mais que je veux l'avoir à l'écran pour pouvoir l'utiliser comme référence. J'aimerais renflouer sans quitter MySQL. Des idées?

Point clé: la commande n'a pas encore été exécutée .

63
Logan

Tapez \c.

Lorsque vous démarrez MySQL, vous verrez probablement ce message:

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

Le "tampon" auquel il fait référence est le tampon de commande/requête.

88
ruakh

Premier type Ctrl+a, puis Ctrl+k.

39
untill

Utilisez l'un des raccourcis suivants pour supprimer la ligne en cours:

  • Type Ctrl + u pour tout effacer du curseur au début de la ligne
  • Type Ctrl + k tout effacer du curseur à la fin de la ligne

Sinon, comme déjà indiqué, tapez \c à la fin de la ligne en cours (raccourci pour la commande clear), puis appuyez sur Enter.

15
bladerz

Dans MySQL 5.7, cela a été résolu. Vous pouvez maintenant utiliser ctrl-c pour quitter la ligne de commande SQL.

1
dkniffin

Dépend des raccourcis clavier de votre shell. Vous pouvez appuyer sur la touche home ou quelle que soit la séquence de touches que vous utilisez pour revenir au début, préfixez votre requête avec X ou quoi pour la rendre invalide du point de vue de la syntaxe, appuyez sur Entrée et vous êtes bon

0
atxdba

Si vous êtes venu ici dans l'espoir de trouver la même réponse dans Transact-SQL, tapez RESET

0
Helzgate