Answers:
要添加其他答案,您可以使用分号简单地结束当前无效查询:
mysql> /version
-> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye
c:\mysql\bin>
或使用\G
(应该使行垂直显示):
mysql> /version
-> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye
c:\mysql\bin>
当然,这两个选项均假定您没有开盘报价。如果这样做,则必须首先用结束引号将其关闭。
->
,'>
,">
,`>
,和/*>
我再次测试了它的最新版本,它工作正常。因此,它看起来像是固定的错误。
因为您已经告诉MySQL将退出命令解释为有效输入。
使MySQL终端难以理解的是单引号,双引号和普通模式有不同的模式。
因此,要退出mysql输入模式,您将必须执行以下步骤:
最基本的例子:
mysql> /version
->
->
->
-> \c
mysql> exit
Bye
C:\>
在上面的示例中,您从未离开默认模式,因此退出命令可以正常工作。
示例2(这就是使您绊倒的原因)。
mysql> hello
->
-> look dash is on the left"
"> In doublequote mode now, because doublequote above
"> adding another doublequote breaks you out: "
-> look a single quote ' here
'> in single quote mode now.
'> get out, in, then out again with three singlequotes: '''
-> now it will listen to your escape code: \c
mysql> exit
Bye
C:\>
当您处于单引号模式或双引号模式时,不考虑转义序列。在这些模式下,甚至Ctrl-C和Ctrl-D被忽略。
无论模式如何,Ctrl-C都不会在26个Universe中的哪个停止程序?我们可能永远不会知道。巴津加。
SQL支持以多行形式输入的查询。仅当输入分号;
时,查询才会执行。您还需要终止查询中的所有字符串。
注意使用文字处理程序包中的字符串复制和粘贴查询-报价可能已替换为“智能引号”,这将使查询混乱。
如果您输入了未终止的查询,则该查询将不会运行,这就是为什么键入exit无效的原因-MySQL认为您仍在查询中间。命令提示符将更改以显示终止查询所需的输入。例如,可能需要引号或双引号。这很强大,命令提示符很有用,但是直到我阅读了关于该线程的答案和评论后,我才感到困惑。
“顶级”提示是:
mysql>
如果看到此内容,则可以输入命令,并以;结尾。然后按回车。
如果看到这样的提示:
'>
">
->
然后,MySQL等待您使用引号将字符串终止或使用分号将查询终止。
这是告诉MySQL取消混乱的未终止查询并使您返回主提示符的方法:
\c
我认为这比终止并运行意外查询更安全。之后,您应该回到>提示符,并可以退出:
exit
\q
为我做这份工作。使用Ubuntu终端。
您可以尝试使用Ctrl+ Shift+ 逃脱D