gpt4 book ai didi

sql - 比较 postgres 中的 UUID

转载 作者:行者123 更新时间:2023-11-29 12:56:18 25 4
gpt4 key购买 nike

假设我在 Postgres 中使用 UUID 作为 PRIMARY KEY 创建了两个表。这些 UUID 是使用 Postgres 中的 uuid-ossp 模块生成的:https://www.postgresql.org/docs/9.5/static/uuid-ossp.html

CREATE TABLE f(  
idFoo UUID PRIMARY KEY DEFAULT gen_random_uuid(),
foo TEXT
);

CREATE TABLE b (
idBar UUID,
bar text,
FOREIGN KEY (idBar) REFERENCES foo(idFoo)
);

然后我想根据以上两个表创建一个VIEW:

 CREATE OR REPLACE VIEW foobar AS (
SELECT fooid, barid
FROM foo, bar
WHERE f.idFoo = b.idBar
-- AND some other condition --
);

问题:如何比较UUID类型?

最佳答案

不要比较 UUID,您要在它们上加入:

CREATE OR REPLACE VIEW foobar AS (
SELECT f.foo, b.bar, f.id
FROM f JOIN b USING (id)
WHERE -- some other condition --
);

要在不同的列上加入,您可以:

CREATE OR REPLACE VIEW foobar AS (
SELECT f.foo, b.bar, idFoo, idBar
FROM f JOIN b ON (idFoo = idBar)
WHERE -- some other condition --
);

(当然,因为 idFoo = idBar,所以没有必要在您的第二个选择中包含两者)。

关于sql - 比较 postgres 中的 UUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497077/

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