【问题标题】:Postgres - Find only by UUIDPostgres - 仅按 UUID 查找
【发布时间】:2021-10-18 04:13:08
【问题描述】:

我有 PostgreSQL 数据库,其中包含多个模式和表。表中的每一行都有 PRIMARY UUID,例如 "Ref_Key" => "41bf3b1e-91f0-491c-a6bd-c48a17e7c252"

是否可以仅通过 UUID 查找行,而不指定架构和表?

【问题讨论】:

  • 如果你真的不知道应该查询哪个表,那么它可能表明存在数据库设计缺陷。
  • 不,不,实际上的目的是:我的用户可以创建链接到基础中每个已定义对象(表)的任务 - 汽车、客户等。当然我可以提供链接方式通过使用“模式、表、键”创建链接表来创建对象,但对我来说很有趣的是,只知道 UUID 就可以实现。
  • 对于像 PostgreSQL 这样的关系数据库,您必须识别模式、表和键才能检索行。也许某种类型的 NoSQL 数据库只需一个键即可识别您想要的信息。
  • 这听起来确实是一个非常奇怪的数据库设计。但是您可以做的是创建一个合并所有ref_key 列和它们来自的表的视图。或者编写一个使用动态 SQL 的函数来实现。

标签: postgresql database-design


【解决方案1】:

不,这是不可能的。您只能查询显式出现在SELECT 语句的FROM 子句中的表。

【讨论】:

    猜你喜欢
    • 2015-05-24
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 2019-03-01
    • 2017-01-19
    • 2010-10-20
    • 2014-05-13
    • 1970-01-01
    相关资源
    最近更新 更多