我正在尝试在表中添加一些值,其中包含1个值的Select过程。
INSERT INTO product(productname, productprice, productcategorynumber)
VALUES ('12', '12', (SELECT productcategorynumber
FROM product_category
WHERE productcategoryname = 'DRINKS'));
我收到以下错误:
重复键值违反了唯一约束
thanx求助
答案 0 :(得分:1)
无需values
:
INSERT INTO product(productname, productprice, productcategorynumber)
SELECT '12', '12', productcategorynumber
FROM product_category
WHERE productcategoryname = 'DRINKS';
我认为这些并不是你想要的实际值,但它有望让你走上正轨。 (产品名称是否有唯一约束?如果是,则需要相应地调整查询。)
答案 1 :(得分:0)
其中一个字段存在约束:(productname,productprice,productcategorynumber)。 检查您的表以查看哪个字段对其具有唯一约束,然后您需要为该字段插入不同的值。
这是一个语句,它将列出PostgreSQL中的约束:
SELECT constraint_name, constraint_type FROM information_schema.table_constraints
WHERE table_name = 'product'
您还应该能够使用以下命令查看此产品表的约束
\d product