2015-10-20 4 views
-2

Учитывая таблицы БД:обновления столбца, используя значения из другого столбца той же таблицы

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

Это имеет множество id значений, но имеет все other набор для NULL, есть элегантный способ обновить таблицу, чтобы все строки other обновлялись до OTHER-{id} (где {id} - значение столбца id)?

(Он должен работать в Postgresql)

+0

Любой разум, объясняющий downvotes? –

ответ

2

только простой update оператор необходим для некоторых конкатенации (||):

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

Вы хотите использовать следующее:

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

UPDATE - ключевое слово, используется для обозначения . Таблица. как обновить.

SET является ключевым словом, используемым для определения того, какие колонок вы хотите обновить, и это, где вы хотите назначить столбец:

'OTHER-' || id 

'OTHER-' является строкой,

|| сокращенный способ связывания

id ценность, которую вы хотите.

Другой способ написания этого будет

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

я вместе со многими другими найдут способ || гораздо чище, но это стоит знать о специальной функции, а также.

Смежные вопросы