添加新列后,是否可以仅使用一个查询插入该列的值?一次为每列插入不同的值
表:
id | category | level | new_column_name
---+-------------+-------+----------------
1 | Character | 3 |
2 | Character | 2 |
3 | Character | 2 |
4 | Character | 5 |
我需要做的是这样
INSERT INTO table_name
(new_column_name)
VALUES
('foo'), -- value for new_column_name : row1
('bar'), -- value for new_column_name : row2
...
;
我已经习惯使用PostgreSQL CLI以便插入值类似的查询,但它失败becauase用途null
为未设置的列值,其中一个(id)为PRIMARY_KEY,因此它不能为NULL。
这是记录错误:
ERROR: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, null, null, 1359).
编辑:
我在做什么是一个多插入的更新,但我将能够做的是插入所有不同的值一次。
举例来说,如果可能的话,我会避免这样做:
UPDATE table_name
SET new_column_name = 'foo'
WHERE id = 1;
UPDATE table_name
SET new_column_name = 'bar',
WHERE id = 2;
--...
听起来像你正在尝试'更新'而不是'插入'也许? – sgeddes
@sgeddes是更多,但我想这样做,如果可能的话,无需使用update命令的where子句。我忘了在我的问题中补充说,对不起。 – fbid