有没有办法在postgres中生成一个唯一的ID?假设我有两个文件:
文件1:
a,b,c
d,e,f
file2的:
h,i,j
a,f,h
我希望将它们插入到同一个表中(这应该是可能的,因为它们具有相同数量的具有相同数据类型的元素)但仍然能够在以后单独获取它们。我可以获得postgresql来为我生成一个唯一的ID吗?
答案 0 :(得分:1)
你确定可以!您可以创建loaded_files
表并存储要加载的文件的名称。从id
检索loaded_files
并使用该数据将数据插入file_items
表。
您要求的是一种解决方案,通常在使用应用程序代码或多个SQL语句加载数据时解决。
答案 1 :(得分:1)
是的,有一种方法可以在postgres中生成唯一的ID。听起来你需要的只是sequence
例如:
create sequence file_id;
然后在每次加载文件时使用nextval('file_id')
。使用nextval('file_id')
后,您可以使用currval('file_id')
返回值而不增加序列
答案 2 :(得分:0)
是的,假设您希望将唯一ID作为主键:
CREATE TABLE my_table (id SERIAL PRIMARY KEY,
your_other_fields... );
SERIAL
说明符会自动为您执行以下操作:
CREATE SEQUENCE my_seq START 1;
CREATE TABLE my_table (id integer PRIMARY KEY DEFAULT nextval('my_seq'));
将使用id = 1
启动您的行,并在每个插入处递增。
答案 3 :(得分:0)