J'ai installé MySQL. Maintenant, je suis coincé dans l'invite de commande MySQL. J'ai exécuté MySQL comme ceci:
C:\>mysql.exe
mysql>
Ensuite, je tape une commande non valide comme celle-ci:
mysql> /version
->
Et peu importe ce que je tape, je ne peux pas quitter la ligne de commande / terminal MySQL. Par exemple:
exit
CtrlC
CtrlD
quit
Ctrl\
CtrlZ
bye
Comment quitter le terminal MySQL vers le terminal par défaut?
windows
command-line
mysql
exit
Eric Leschinski
la source
la source
Réponses:
Pour ajouter à l'autre réponse, vous pouvez simplement terminer la requête non valide actuelle à l'aide d'un point-virgule:
Ou en utilisant
\G
(qui est censé afficher les lignes verticalement):Bien sûr, les deux options supposent que vous n'avez pas de devis d'ouverture. Si vous le faites, vous devez d'abord le fermer avec un devis de fin.
la source
->
,'>
,">
,`>
et/*>
je l' ai testé à nouveau sur les dernières versions, et cela a fonctionné correctement. Cela ressemble donc à un bug corrigé.Pourquoi ctrl-c ne quitte-t-il pas le mode d'entrée mysql dans Windows?
Parce que vous avez dit à MySQL d'interpréter vos commandes de sortie comme une entrée valide.
Ce qui rend le terminal MySQL difficile à comprendre, c'est qu'il existe différents modes pour les guillemets simples, les guillemets doubles et le mode normal.
Donc, pour sortir du mode d'entrée mysql, vous devrez suivre ces étapes:
Exemple le plus basique:
Vous n'avez jamais quitté le mode par défaut dans l'exemple ci-dessus, les commandes de sortie fonctionnent donc correctement.
Exemple 2 (c'est ce qui vous fait trébucher).
Tant que vous êtes en mode devis simple ou double, aucune séquence d'échappement n'est respectée. Même Ctrl-Cet Ctrl-Dsont ignorés dans ces modes.
Dans lequel des 26 univers Ctrl-C n'arrête-t-il pas un programme quel que soit le mode? Nous ne le saurons peut-être jamais. Bazinga.
la source
SQL prend en charge les requêtes saisies sur plusieurs lignes. Ce n'est que lorsque vous entrez un point-virgule
;
que la requête sera exécutée. Vous devez également avoir mis fin à toutes les chaînes de votre requête.Méfiez-vous des copier et coller des requêtes avec des chaînes d'un package de traitement de texte - les citations peuvent avoir été remplacées par des `` citations intelligentes '' et cela gâchera votre requête.
Si vous avez entré une requête non terminée, elle ne s'exécute pas, et c'est pourquoi la saisie de exit ne fonctionne pas - MySQL pense que vous êtes toujours au milieu d'une requête. L'invite de commandes change pour montrer quelle entrée est nécessaire pour terminer la requête. Par exemple, un devis ou un double devis peut être requis. C'est puissant et l'invite de commande est utile mais je l'ai trouvé confus jusqu'à ce que je lise les réponses et les commentaires sur ce fil.
lire les spécifications ici
L'invite «de niveau supérieur» est:
mysql>
Si vous voyez cela, vous pouvez entrer une commande, la terminer avec; et appuyez sur Entrée.
Si vous voyez une invite comme celle-ci:
Ensuite, MySQL vous attend pour terminer une chaîne avec un devis ou une requête avec un point-virgule.
Voici comment dire à MySQL d'annuler votre requête non terminée foireuse et de vous remettre à l'invite principale:
Je pense que c'est plus sûr que de terminer et d'exécuter votre requête involontaire. Après cela, vous devriez être de retour à l'invite> et pouvez quitter avec:
la source
\q
fait le travail pour moi. Utilisation du terminal Ubuntu.la source
Vous pouvez essayer de vous échapper en utilisant Ctrl+ Shift+D
la source