我试图用"DROP TABLE"
命令删除几个表但由于一个未知的原因,该程序只是"坐"并且不删除我想要它在数据库中的表.
我在数据库中有3个表:
产品,账单和账单_产品,用于参考账单中的产品.
我设法删除/删除产品,但我不能对bill和Bill_Products做同样的事情.我发出相同的"DROP TABLE Bill CASCADE;"
命令,但命令行只是停止.我也使用了没有CASCADE
选项的简单版本.
你知道为什么会这样吗?
更新:
我一直在想数据库可以保留从产品到账单的一些参考,也许这就是为什么它不会删除Bill表.
所以,就此而言,我发布了一个简单的SELECT * from Bill_Products
,经过几十(10-15)秒(奇怪的是,因为我不认为它持续这么长时间,当有一个空表是正常的)它打印出表和它的内容,没有.(显然,从产品到比尔没有任何参考).
有时我的命令psql
似乎没有效果.知道为什么吗?
以下是数据库中所有表的列表library_development
:
library_development=> \d
List of relations
Schema | Name | Type | Owner
--------+-------------------+-------+----------
public | Pavan | table | postgres
public | schema_migrations | table | sai
(2 rows)
Run Code Online (Sandbox Code Playgroud)
在此之后我删除的表Pavan
使用:
library_development-> drop table Pavan
Run Code Online (Sandbox Code Playgroud)
但是表格没有被删除,其显示如下:
library_development=> \d
List of relations
Schema | Name | Type | Owner
--------+-------------------+-------+----------
public | Pavan | table | postgres
public | schema_migrations | table | sai
(2 rows)
Run Code Online (Sandbox Code Playgroud)
也:
我在Windows中使用PostgreSQL.是否有任何清除控制台的命令(如Oracle中的cl scr)?
在使用DML脚本时,我是否需要在Postgresql中执行"提交"的概念?