繁体   English   中英

使用来自同一表的不同列的值更新列

[英]update a column using values from a different column of the same table

给定数据库表:

CREATE TABLE stuff (
  id text not null,
  other text
);

它有很多id值,但所有other值都设置为NULL ,是否有一种优雅的方法来更新表,以便所有other行都更新为OTHER-{id} (其中{id}id列的值)?

(它必须在 Postgresql 中工作)

只需要一个带有一些字符串连接 ( || ) 的简单update语句:

update stuff
   set other = 'OTHER-' || id

您将需要使用以下内容:

UPDATE stuff
   SET other = 'OTHER-' || id;

UPDATE是用于标识您要更新哪个的关键字。

SET是用于标识您要更新的的关键字,这是您选择将列分配到的位置:

'OTHER-' || id

'OTHER-'是一个字符串

|| 连接的速记方式

id您想要的值。

另一种写法是

other = concat('OTHER-',id);

我和许多其他人会发现|| 方法要干净得多,但也值得了解专用功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM