我试图用"DROP TABLE"命令删除几个表,但是由于未知的原因,程序只是"坐着",没有删除数据库中我想要的表.

我的数据库中有3个表:

产品、账单和账单产品,用于引用账单中的产品.

我成功地删除了产品,但我不能对bill和bill_产品执行相同的操作.

你知道为什么会发生这种事吗?

更新:

我一直在想,数据库可以保留从产品到账单的一些引用,也许这就是它不会删除Bill表的原因.

因此,我发布了一个简单的SELECT * from Bill_Products,在几秒钟(10-15)后(奇怪的是,因为我认为当有一张空桌子的时候,它持续这么长时间是不正常的),它打印出了桌子和它的内容,但没有.(因此,apparently产品与账单之间没有任何关联).

推荐答案

产品的yields 是多少

SELECT *
  FROM pg_locks l
  JOIN pg_class t ON l.relation = t.oid AND t.relkind = 'r'
 WHERE t.relname = 'Bill';

可能有其他会话在并行使用您的表,并且您无法获得Access Exclusive个锁来删除它.

Database相关问答推荐

使用 prisma ORM 在我的迁移中手动添加触发器

嵌套事务的目的

哪个能够存储 1 亿条记录的嵌入式数据库具有高效的 C 或 C++ API

使用 cloud-spanner 进行本地开发

在表上插入或更新违反外键约束

通过生成迁移将索引:唯一添加到 ruby​​ on rails 中的列

prices价格字段是浮动还是小数好点?

更改列类型而不丢失数据

MySQL 转储所有数据库并在导入时创建(或重新创建)它们?

为 Java servlet 管理数据库连接的最佳方法

我应该使用 NULL 还是空字符串来表示表列中没有数据?

如何将 Android 手机上的 SQLite 数据库与服务器上的 MySQL 数据库同步?

如何在实体框架中使用字符串属性作为主键

在 SQL Server 中实施审计表的建议?

如何在数据库中获取原始的created_at值(不是转换为 ActiveSupport::TimeWithZone 的对象)

SQLite3 数据库的最大连接数是多少?

使用 Django 的复合/复合主/唯一键

如何在数据库中表示树状 struct

如何使用 T-SQL 检测 SQL Server 数据库的只读状态?

位图索引有何帮助?