2

我正在尝试在表中添加一些值,其中包含这样的 1 个值的选择过程。

INSERT INTO product(productname, productprice, productcategorynumber) 
VALUES ('12', '12', (SELECT productcategorynumber 
                     FROM product_category 
                     WHERE productcategoryname = 'DRINKS'));

我收到以下错误:

重复键值违反唯一约束

感谢帮助

4

2 回答 2

1

不需要values

INSERT INTO product(productname, productprice, productcategorynumber) 
SELECT '12', '12', productcategorynumber 
FROM product_category 
WHERE productcategoryname = 'DRINKS';

我假设这些不是您想要的实际值,但它有望使您走上正确的轨道。(产品名称是否有唯一约束?如果有,则需要相应地调整查询。)

于 2013-06-23T17:00:45.437 回答
0

对以下字段之一有限制:(产品名称、产品价格、产品类别编号)。检查您的表以查看哪个字段对其具有唯一约束,然后您需要为该字段插入不同的值。

这是一个语句,它将为您列出 PostgreSQL 中的约束:

SELECT  constraint_name, constraint_type FROM information_schema.table_constraints
WHERE table_name = 'product'

您还应该能够使用以下命令查看此产品表的约束

\d product 
于 2013-06-23T16:33:27.050 回答