Postgres CREATE/DROP DATABASE 有时会导致语法错误

Jia*_*ang 0 postgresql

我有时会在命令处或附近遇到语法错误,但下次尝试它工作正常。

删除数据库:

Superman-# DROP DATABASE a;
ERROR:  syntax error at or near "DROP"
LINE 2: DROP DATABASE a;
        ^
Superman=# DROP DATABASE a;
DROP DATABASE
Run Code Online (Sandbox Code Playgroud)

还有创建数据库:

Superman=# CREATE DATABSE task1database;
ERROR:  syntax error at or near "DATABSE"
LINE 1: CREATE DATABSE task1database;
           ^
Superman=# CREATE DATABASE a;
CREATE DATABASE
Superman=# CREATE DATABASE task1database;
CREATE DATABASE
Run Code Online (Sandbox Code Playgroud)

Lau*_*lbe 8

观察第一行的提示:

Superman-#
Run Code Online (Sandbox Code Playgroud)

-一个标志,表明这是一个续行,也就是说,您没有用分号完成上一行所写的内容。

发送到服务器的结果 SQL 语句是自最后一个分号以来的所有内容,因此 位于DROP DATABASE字符串中间的某个位置并导致语法错误。

始终观察提示,如果它不包含,您可以通过按+=清除缓冲区。CtrlC

第二个例子只是 中的一个拼写错误DATABSE