使用同一个表的不同列中的值更新列

时间:2015-10-20 16:56:46

标签: sql postgresql

给出数据库表:

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

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

(它必须在Postgresql中工作)

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

您想要使用以下内容:

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

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

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

'OTHER-' || id

'OTHER-'是一个字符串

||连接的简便方法

id您想要的值。

另一种写作方式是

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

我和其他许多人一起会发现||方法更清洁,但也值得了解专用功能。