Postgre或mysql-id列自动递增



我有一个关于postgre或mysql中主键的问题。

因此:

在mongodb中,id不是整数,而是一些唯一的值,如"507f191e810c19729de860ea"。当您想要同步来自多个id的记录时,这会有所帮助。他们永远不会匹配(或者机会很小(。因此,我可以从一个数据库中获取一条记录,并将其插入到我的数据库中,而不会在id主键约束中发生冲突。

所以我的问题是PostgreSQL或MySQL数据库中也有类似的功能。

我知道我可以用php/nodjs/python生成id,但我更喜欢使用数据库本身的自动简单的东西。

我可以在数据库中创建我的过程/函数,但我避免这样做——我希望数据库自动处理这件事(就像mongodb那样(。

这种方法有什么缺点吗?

在PostgreSQL中,您可以生成UUID。

首先,你需要确保你已经安装了扩展:

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

然后使用CCD_ 1函数来生成CCD_。如果你不想每次都记住插入它,你可以将它定义为主键的默认值:

CREATE TABLE mytable (
id UUID DEFAULT uuid_generate_v4() PRIMARY KEY,
-- other columns as needed...
);

您可以按如下方式使用SERIAL

CREATE TABLE table_name(
id SERIAL
);

这就像SQL中的自动增量。

最新更新