【问题标题】:How to drop a table in PostgreSQL which includes double quotes in its name如何在 PostgreSQL 中删除名称中包含双引号的表
【发布时间】:2009-08-28 19:06:47
【问题描述】:

我无意中在 PostgreSQL 中创建了一个表,该表的名称中包含一些双引号。我使用 SQL Server 2000 DTS 将数据从它导入到我的 PostgreSQL 服务器,但在导入时,它创建了表,但其中带有双引号。

其实是我做的时候的表名

SELECT * FROM pg_tables
是:
public","t_freemailer

所以,当我尝试使用以下方式删除表格时:

DROP TABLE "public"."public","t_freemailer"

我收到一个错误:错误:表“公共”不存在

而且我没有找到在标识符名称中转义双引号的方法。

请帮忙

【问题讨论】:

    标签: sql database postgresql


    【解决方案1】:

    使用“双”双引号转义:

    DROP TABLE "public"."public"",""t_freemailer"
    

    这是documentation的链接

    【讨论】:

      【解决方案2】:

      2 x double quote = quote...

      DROP TABLE "public"."public"",""t_freemailer"

      【讨论】:

      • 太好了,你复制了我的答案,这是第一个,你的答案被接受了。
      • 大声笑@ChssPly,时差意味着他不太可能复制它!但是你最终得到了代表:)
      • MaxiWheat 公平地说,我认为你“接受”了错误的 - 即 2 个中的后者......
      • @h4xxr - “时差”是什么意思?由于 Jeff Atwood (meta.stackexchange.com/questions/17910/…) 的新“功能”非常出色,因此现在对具有相同投票数的答案进行随机排序,而不是按时间戳排序。我的是第一个(您可以通过单击“最旧”选项卡来查看); gbn's(完全相同)排在第二位,但首先显示并因此被接受。顺便说一句,这与代表无关 - 我对这种变化真的很生气(而且我并不孤单)但阿特伍德没有在听。
      • @ChssPly76:不,我只是没有你打字快,53 秒后才发帖。我注意到了。当我看到我的代表发生变化时,我回来时也为你投票。如果您认为我抄袭了您的答案,那您的心态令人不安……您是否抄袭其他人的答案……?
      猜你喜欢
      • 2022-07-27
      • 2022-07-23
      • 2011-11-19
      • 2022-01-15
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多