PostgresQL 自定义序列
PostgresSQL custom sequence
我的 nextval
函数有问题,我的数据库中有一个名为 InternalCodes
的自定义序列,当我想像这样插入时:
insert into "Membership"
("Name", "Code", "Price", "Caducity", "Status", "Type")
values
('asd', nextval("InternalCodes"), 1, 2, true, 0);
PostgreSQL returns 我出现以下错误:
org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [42703]: ERROR: column does not exist «InternalCodes»
您需要使用单引号而不是双引号:
test=# create sequence seq_test;
test=# select nextval("seq_test");
ERROR: column "seq_test" does not exist
LINE 1: select nextval("seq_test");
^
test=# select nextval('seq_test');
nextval
---------
1
在你的情况下,由于你的序列名称包含大写字母,你实际上需要同时使用:
insert into "Membership"("Name", "Code", "Price","Caducity","Status","Type")
values('asd', nextval('"InternalCodes"'), 1,2,true,0)
;
您需要使用字符串引号:
nextval('"InternalCodes"')
我的 nextval
函数有问题,我的数据库中有一个名为 InternalCodes
的自定义序列,当我想像这样插入时:
insert into "Membership"
("Name", "Code", "Price", "Caducity", "Status", "Type")
values
('asd', nextval("InternalCodes"), 1, 2, true, 0);
PostgreSQL returns 我出现以下错误:
org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [42703]: ERROR: column does not exist «InternalCodes»
您需要使用单引号而不是双引号:
test=# create sequence seq_test;
test=# select nextval("seq_test");
ERROR: column "seq_test" does not exist
LINE 1: select nextval("seq_test");
^
test=# select nextval('seq_test');
nextval
---------
1
在你的情况下,由于你的序列名称包含大写字母,你实际上需要同时使用:
insert into "Membership"("Name", "Code", "Price","Caducity","Status","Type")
values('asd', nextval('"InternalCodes"'), 1,2,true,0)
;
您需要使用字符串引号:
nextval('"InternalCodes"')