为什么我无法移动到下一个命令行或在 MySQL 中运行查询?



我试图在我的SQL server 5.0中运行它,然后突然->变为">我试图运行的代码是:-

mysql> insert into gabs
-> VALUES
-> (
->    10,100,98,17,'M','Delhi','Sunil'
-> ),
-> (
->    2,101,95,17,'F','Pune','Neha'
-> ),
-> (
->    15,400,90,17,'M',null,'Amit'
-> ),
-> (
->     6,401,98,18,'M','Haryana','Parth'
-> ),
-> (
->     17,403,98,18,'F',"Chennai','Kamal'
"> ),
"> (
">     18,201,95,18,'M','Delhi','Chita'
"> );
"> c
">
"> c;
"> /c
"> /c;
">

我甚至用了clear it,但它每次都添加了一行,我不知道这里发生了什么。

要回答您的问题:完成命令的方法是结束字符串。

您通过键入"来启动字符串。该字符串从未结束,因为您没有为该字符串键入结束"。当您键入换行符时,字符串会继续,直到以"结尾。

mysql> insert into mytable set t = "a string
"> more string
"> even more string
"> end of the string";
Query OK, 1 row affected (0.01 sec)

'分隔符也存在相同的行为。

MySQL默认使用"'作为字符串分隔符,但给定的字符串必须使用相同的引号作为开头和结尾。一旦用任意一种类型的引号字符开始字符串,就应该用相同类型的引号结束字符串。

正如@AkhileshMishra所提到的,单个"导致了问题,用'替换它将解决您的问题。

关于";移动到下一个命令行";,psql在执行之前不断添加SQL查询,直到找到逻辑端点。在您的案例中,您使用了单个",它一直在尝试找到一个结束的"。这就是为什么您不能运行clear命令或任何其他命令的原因。

您可以尝试放置一个";来表明您已经完成了查询的编写,然后psql将识别查询中的语法错误并简单地显示出来。之后,您将能够运行一个新的命令。

希望这对你有意义,如果你还有任何疑问,请告诉我。

相关内容

  • 没有找到相关文章

最新更新