gpt4 book ai didi

PostgreSQL:如何存储 UUID 值?

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

我正在尝试使用 PostgreSQL 9.3 版本将 UUID 值存储到我的表中。

示例:

create table test
(
uno UUID,
name text,
address text
);

insert into test values(1,'abc','xyz');

注意:如何将整数值存入UUID类型?

最佳答案

UUID 的全部意义在于它们是自动生成的,因为使用的算法实际上 保证它们在您的表、数据库甚至跨数据库中是唯一的。 UUID 存储为 16 字节数据,因此您实际上只想在满足以下一项或多项条件时使用它们:

  1. 您需要无限期地、永远地、永远地存储数据。
  2. 当你有一个高度分布式的数据生成系统(例如,INSERTS 在一个分布在多台机器上的单个“系统”中,每台机器都有自己的本地数据库),而中央 ID 生成是不可行的(例如,连接受限的移动数据收集系统,稍后上传到中央服务器)。
  3. 负载平衡、复制等方面的某些场景。

如果这些情况之一适用于您,那么您最好使用 UUID 作为主键并自动生成它:

CREATE TABLE test (
uno uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
name text,
address text
);

像这样,您永远不必担心 UUID 本身,这一切都在幕后完成。您的 INSERT 语句将变为:

INSERT INTO test (name, address) VALUES ('abc','xyz') RETURNING uno;

RETURNING 子句显然是可选的,如果您想使用它来引用相关数据的话。

关于PostgreSQL:如何存储 UUID 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23880812/

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