例如我的Postgresql
数据库名称是Ajp
我不能删除/创建具有此名称的数据库,即. Ajp
我的drop脚本是
cd /D D:\\Apps
cd RSTAR PGSQL DOTCONNECT
cd bin
cd Debug
cd PG
psql -U postgres -d postgres -c "DROP DATABASE Ajp "
Run Code Online (Sandbox Code Playgroud)
执行此操作时出现此错误
D:\ Apps\RSTAR PGSQL DOTCONNECT\bin\Debug\PG> psql -U postgres -d postgres -c"DR OP DATABASE Ajp"错误:数据库"ajp"不存在
我试过psql -U postgres -d postgres -c "DROP DATABASE 'Ajp' "
(引号内的db名称)
再次得到错误
错误:"'Ajp'或其附近的语法错误"第1行:DROP DATABASE'Ajp'
怎么解决这个问题?(请不要评论change your dbname to lower-case
)
using : "PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit"
这个问题的解决方案如下
\
psql -U postgres -d postgres -c "DROP DATABASE \"Ajp\";"
a_h*_*ame 32
区分大小写的SQL标识符需要用双引号括起来:
DROP DATABASE "Ajp";
Run Code Online (Sandbox Code Playgroud)
如果您通过命令行传递它们,则不确定它们是否在Windows上正确保留.
您可能需要将其放入SQL脚本并将脚本名称传递给psql.
有关有效标识符的详细信息,请参阅手册:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
归档时间: |
|
查看次数: |
13137 次 |
最近记录: |