gpt4 book ai didi

sql - 在 PostgreSQL 中删除具有空名称的表

转载 作者:行者123 更新时间:2023-11-29 13:31:41 25 4
gpt4 key购买 nike

我正在尝试删除存储在 PostgreSQL 8.3.8 32 位中的一个表。

奇怪的是我的表没有名字,它是空的。我在哪里:

SELECT * FORM pg_catalog.pg_tables;

它说我的表名是空的。当我尝试删除我的表时:

DROP TABLE sde. ;

其中 sde 是我的架构名称,出现错误,告诉我存在语法错误。

ERROR: syntax error at or near ";"
LINE 1:drop table sde. ;

有什么办法可以删除那个表吗?

我也试过

DROP TABLE sde.'';

但还是报错。

我的表有 OID。是否可以通过OID删除?

对我来说最好的解决方案是重命名该表,以便我可以保存该表中的数据。

最佳答案

您不能创建空名称的表:

tgr=# create table "" ();
ERROR: zero-length delimited identifier at or near """"
LINE 1: create table "" ();

但是你可以创建一个有很多空格的表格,包括换行符:

create table "               

" ();

使用这样的表:

  1. information_schema.tables中找到它
  2. 在一些命令中用双引号 ("") 复制/粘贴表名

当前面的失败时,你可以尝试直接更新pg_class。如果你有表 OID,试试这个:

update pg_class set relname = 'test'::name where oid = <<YourOID>>;

关于sql - 在 PostgreSQL 中删除具有空名称的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21849704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com