我有一个关于postgre或mysql主键的问题。
所以:
在mongodb中,id不是整数,而是一些唯一的值,如“507f191e810c19729de860ea”。当您想要同步来自多个id的记录时,这会有所帮助。他们永远不会匹配(或者机会很小)。因此,我可以从一个数据库中获取一条记录,并将其插入到我的数据库中,而不会在id主键约束中发生冲突。
所以我的问题是,在postgresql或mysql数据库中也有类似的功能。
我知道我可以用php/nodejs/python生成id,但是我更喜欢从数据库本身使用一些自动和简单的东西。
我可以在数据库中创建我的过程/函数,但我避免了这种情况-我希望数据库自动处理这种情况(就像mongodb那样)。
这种方法有什么缺点吗?
2条答案
按热度按时间igetnqfo1#
您可以按如下方式使用序列号:
这就像sql中的自动增量。
wyyhbhjk2#
在postgresql中,可以生成uuid。
首先,您需要确保已安装扩展:
然后使用
uuid_generate_v4
函数生成UUID
. 如果不想每次都要记住插入它,可以将其定义为主键的默认值: