gpt4 book ai didi

sql - 在不显式命名列的情况下使用 RETURNING

转载 作者:行者123 更新时间:2023-11-29 13:05:06 24 4
gpt4 key购买 nike

我有一个包含多个列的表,我想使用 RETURNINGINSERT 查询返回 ID。不幸的是,在这种情况下,我似乎必须指定所有列

INSERT INTO "user" ( "id", ... ) VALUES ( DEFAULT, ... ) RETURNING "id"

不仅仅是做

INSERT INTO "user" VALUES ( DEFAULT, ... ) RETURNING "id"

wich 使查询非常长且难以阅读。我可以在不指定每一列的情况下以某种方式返回 ID 吗?

最佳答案

当然,您可以。您的第二个查询应该可以正常工作 - 前提是 id 实际上在表中处于第一个位置 - 我对此表示怀疑。

验证方式:

SELECT attnum
FROM pg_attribute
WHERE attrelid = '"user"'::regclass
AND attname = 'id';

但这并不意味着您应该这样做。除了临时调用,只有少数情况下您不应该将列列表附加到 INSERT 命令。

无论哪种方式,您都不应该使用 reserved worduser 作为表名。这是一个非常糟糕的主意。上膛步兵枪的经典案例。

关于sql - 在不显式命名列的情况下使用 RETURNING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15720046/

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