gpt4 book ai didi

与 INSERT 和/或 WITH 相关的 PostgreSQL 语法错误。发生在 8.4 但不是 9.1。想法?

转载 作者:行者123 更新时间:2023-11-29 13:02:58 25 4
gpt4 key购买 nike

这是 PostgreSQL 的一些 SQL(我知道这是一个愚蠢的查询;我已将原始查询简化为最简单的损坏代码):

CREATE TABLE entity (
id SERIAL PRIMARY KEY
);

WITH new_entity
AS (INSERT INTO entity DEFAULT VALUES
RETURNING id
)
SELECT id FROM new_entity;

这是在 PostgreSQL 9.1 上运行的:

psql:../sandbox/test.sql:3: NOTICE:  CREATE TABLE will create implicit sequence "entity_id_seq" for serial column "entity.id"
psql:../sandbox/test.sql:3: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "entity_pkey" for table "entity"
CREATE TABLE
id
----
1
(1 row)

这里它没有在 PostgreSQL 8.4 上运行:

psql:../sandbox/test.sql:3: NOTICE:  CREATE TABLE will create implicit sequence "entity_id_seq" for serial column "entity.id"
psql:../sandbox/test.sql:3: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "entity_pkey" for table "entity"
CREATE TABLE
psql:../sandbox/test.sql:9: ERROR: syntax error at or near "INSERT"
LINE 2: AS (INSERT INTO entity DEFAULT VALUES

显然,表创建在这两种情况下都很好,但它在 PostgreSQL 8.4 中的第二个查询中消失了。从此错误消息中,我无​​法确切地收集到问题所在。我不知道 9.1 有什么而 8.4 没有可能导致此语法错误。很难google it .我已经迫不及待地翻阅 8.4 和 9.1 之间的 PostgreSQL 发行说明页面,并找出是否有与 WITH … ASINSERT … RETURNING 相关的内容更改或添加,但在我去那里之前,我希望你们中的一个有经验和/或虔诚的 google-fu 来帮助我在这里。

最佳答案

WITH 中的数据修改语句在 Postgres 9.1 中引入

关于与 INSERT 和/或 WITH 相关的 PostgreSQL 语法错误。发生在 8.4 但不是 9.1。想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23576458/

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