Я забыл точку с запятой ";" в запросе терминала MySQL. Как выйти?

Иногда я забываю закончить свой SQL-запрос точкой с запятой ";" в моем терминале Mac. Когда это произойдет, терминал устанавливает -> в начале, и я не могу выйти из него или запустить любые другие команды SQL.

Как я могу выйти из этого?

Ответ 1

Вы не знаете о 5 разных режимах кавычек терминала mysql. Предлагаю вам просмотреть их:

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

Соответствующие части указанной ссылки:

В следующей таблице показаны каждое приглашение, которое вы можете увидеть, и суммирует, что они означают о состоянии, в котором находится mysql.

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

В серии MySQL 5.0 запрос /*> был реализован в MySQL 5.0.6.

Операторы с несколькими строками обычно происходят случайно, когда вы собираетесь выдавать команду в одной строке, но забудьте о завершающей точке с запятой. В этом случае mysql ожидает большего ввода:

mysql> SELECT USER()
    ->

Если это происходит с вами (вы считаете, что вы ввели оператор, но единственный ответ - подсказка → ), скорее всего, mysql ждет точку с запятой. Если вы не заметите, что подсказка вам говорит, вы можете сидеть там некоторое время, прежде чем осознать, что вам нужно делать. Введите точку с запятой для завершения инструкции, и mysql выполнит ее:

TL;DR:

Чтобы выйти, введите \c, ;, ctrl-c или ctrl-d. Если все из них не работают, выйдите из режима котировки, введя '<enter>, "<enter> или */<enter>

Ответ 2

Просто наберите \c, чтобы очистить текущий оператор ввода

Ответ 3

Просто введите ";" и нажмите enter. Вы можете использовать столько строк ввода, сколько хотите, чтобы завершить запрос в режиме командной строки. Таким образом, вы можете сделать что-то вроде:

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

если хотите.

Ответ 4

мог бы попробовать "\q", который работал у меня

Ответ 5

Используйте одно из следующих сочетаний клавиш: Ctrl+C или Ctrl+D.