gpt4 book ai didi

sql - 我可以使用来自两个连接表的数据编写插入查询吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:02 25 4
gpt4 key购买 nike

我有一个像这样的 SELECT 查询:

SELECT id_default_value, id_type FROM ntg_attribute, ntg_module_attribute 
WHERE ntg_attribute.id_module_attribute = ntg_module_attribute.id;

这将返回 2 列,id_default_valueid_type。然后我想使用这些数据作为对另一个表 ntg_default_valueINSERT 查询的基础,使用 id_default_value 作为键,并且id_type 作为插入值。

下面的内容差不多了,但还不完全是:

INSERT INTO ntg_default_value (id, id_type) 
SELECT id_default_value, id_type FROM ntg_attribute, ntg_module_attribute
WHERE ntg_attribute.id_module_attribute = ntg_module_attribute.id;

这给了我:

ERROR:  duplicate key value violates unique constraint "pk_ntg_default_value"

我想做的事情真的可行吗?如果是这样,我该如何构建查询?

(PostgreSQL 8.4.6)

最佳答案

约束名称“pk_ntg_default_value”可能意味着您违反了表 ntg_default_value 的主键约束。

根据您的要求,您可以取消主键约束。或者,您可以将其扩展为同时包含 id 和 id_type(如果尚未包含),并在必要时向您的查询添加 GROUP BY,以防止重复的 id_devault_value 和 id_type 对。那么你的查询就变成了:

INSERT INTO ntg_default_value (id, id_type)
SELECT id_default_value, id_type
FROM ntg_attribute, ntg_module_attribute
WHERE ntg_attribute.id_module_attribute =
ntg_module_attribute.id
GROUP BY id_default_value, id_type

关于sql - 我可以使用来自两个连接表的数据编写插入查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4974144/

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