gpt4 book ai didi

mysql - PostgreSQL中通过获取序列的NextVal插入表

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

我有一个名为 SEQ_TABLE 的表,它有两列:SEQ_NAME 和 ID

SEQ_NAME        |  ID
----------------------
SEQ_TABLE_10 | 1
SEQ_TABLE_20 | 5

其中 ID 是 TABLE_10 和 TABLE_20 中 COLUMN_1 中的最大值

现在,我必须通过从 SEQ_TABLE 获取序列的 nextvalue 来将新记录插入到 TABLE_10 中。

我编写的 PostgreSQL 查询如下:

INSERT INTO TABLE_10 (COLUMN_1, COLUMN_2, COLUMN_3) VALUES  ((SELECT nextval(SEQ_TABLE)),   'Bangalore' ,NULL);

当我执行上述查询时,出现以下错误:**********错误************

ERROR: column "SEQ_TABLE_10" does not exist
SQL state: 42703
Character: 99

但是,以下查询在 MySQL 数据库中运行良好:

INSERT INTO TABLE_TABLE(COLUMN_1, COLUMN_2, COLUMN_3) VALUES  ((SELECT nextval('TABLE_172_SEQ','true')),    'Bangalore' ,NULL);

PostgreSQL数据库中实现它的精确Postgres查询是什么?

最佳答案

您想要创建一个序列,而不是一个表(SEQ_TABLE)请引用此链接 https://www.postgresql.org/docs/8.1/static/sql-createsequence.html

例如。

CREATE SEQUENCE serial START 101;
SELECT nextval('serial');
create table MyTable(col1 int,col2 varchar(20));
INSERT INTO MyTable VALUES (nextval('serial'), 'nothing');

关于mysql - PostgreSQL中通过获取序列的NextVal插入表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38389619/

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