提示符 意思
mysql> 准备好接受新命令
-> 等待多行命令的下一行
'> 等待下一行,收集以单引号(“'”)开始的字符串
"> 等待下一行,收集以双引号(“"”)开始的字符串
当你打算在一个单行上发出一个命令时,多行语句通常“偶然”出现,但是忘记终止的分号。在这种情况中,
mysql等待进一步输入:
mysql> SELECT USER()
->
如果这发生在你身上(你认为你输完了语句但是唯一的反应是一个->提示符),很可能
mysql正在等待分号。如果你没有注意到提示符正在告诉你什么,在认识到你需要做什么之前,你可能花一会儿时间呆坐在那儿。进入一个分号完成语句,并且
mysql将执行它:
mysql> SELECT USER()
-> ;
+--------------------+
| USER() |
+--------------------+
| joesmith@localhost |
+--------------------+
'>和">提示符出现在在字符串收集期间。在MySQL中,你可以写由“'”或“"”字符括起来的字符串 (例如,'hello'或"goodbye"),并且
mysql让你进入跨越多行的字符串。当你看到一个'>或">提示符时,这意味着你已经输入了包含以“'”或“"”括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。如果你确实正在输入一个多行字符串,很好,但是果真如此吗?不尽然。更常见的,'>和">提示符显示你粗心地省掉了一个引号字符。
www.xker.com(小新技术网)例如:
mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;
">
如果你输入该SELECT语句,然后按回车键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你
mysql期望见到一个未终止字符串的余下部分。(你在语句中看见错误吗?字符串"Smith正好丢失第二个引号。)
走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是打入\c,因为
mysql作为它正在收集的字符串的一部分来解释它!相反,输入关闭的引号字符(这样
mysql知道你完成了字符串),然后打入\c:
mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;
"> "\c
mysql>
提示符回到
mysql>,
www.xker.com(小新技术网)显示
mysql准备好接受一个新命令了。
知道'>和">提示符意味着什么是很重要的,因为如果你错误地输入一个未终止的字符串,任何比你下一步输入的行好象将要被mysql忽略--包括包含QUIT的行!这可能相当含糊,特别是在你能取消当前命令前,如果你不知道你需要提出终止引号。

发表评论