我忘记了分号";" 在MySQL终端查询中.我该怎么退出?

Kev*_*zke 13 mysql sql macos terminal

有时我忘了用分号结束我的SQL查询";" 在我的Mac终端.发生这种情况时,终端->在开头设置a ,我无法退出或运行任何其他SQL命令.

我怎么能退出这个?

Eri*_*ski 22

你不知道mysql终端的5种不同的报价模式.我建议你复习一下:

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 /*.
Run Code Online (Sandbox Code Playgroud)

在MySQL 5.0系列中,/*>提示是在MySQL 5.0.6中实现的.

当您打算在一行上发出命令时,通常会出现多行语句,但忘记了终止分号.在这种情况下,mysql等待更多输入:

mysql> SELECT USER()
    ->
Run Code Online (Sandbox Code Playgroud)

如果你遇到这种情况(你认为你已经输入了一个语句,但唯一的响应是 - >提示符),很可能mysql正在等待分号.如果您没有注意到提示告诉您的内容,您可能会在那里坐一会儿,然后才意识到您需要做什么.输入分号以完成语句,mysql执行它:

TLDR:

要退出,类型\c,;,ctrl-cctrl-d.如果所有这些失败,走出报价模式,你是通过键入'<enter>,"<enter>*/<enter>


小智 5

只需输入\ c即可清除当前的输入语句


Mik*_*ant 5

只需输入“;” 然后按回车。在命令行模式下,可以使用任意多行输入来完成查询。因此,您可以执行以下操作:

>SELECT
>*
>FROM
>table
>WHERE
>id=5
>;
Run Code Online (Sandbox Code Playgroud)

如果你喜欢。


mik*_*abc 5

你可以试试"\q"这对我有用