如何将查询结果列插入PostgreSQL已有数据行而非新增行?
解决方案
你用INSERT语句当然会新增行,因为INSERT的作用就是向表中插入新记录。要更新现有24000行的project_id字段,得用UPDATE语句,步骤如下:
- 先确保已经添加了空的
project_id列(如果还没加):
ALTER TABLE comments_live ADD COLUMN project_id VARCHAR(255); -- 可根据实际数据调整字段类型和长度
- 执行
UPDATE语句填充现有行的project_id:
UPDATE comments_live SET project_id = SUBSTR(record, 1, POSITION(' ' IN record) - 1);
注:这里给
POSITION的结果减了1,是为了去掉截取结果末尾的空格。如果你的需求就是要保留空格,去掉-1即可。
这样就能把每一行的project_id字段用record字段的对应片段填充,不会新增任何行。
内容的提问来源于stack exchange,提问作者Suraj221b
相关产品推荐
相关产品推荐

