Можно ли обновить первичный ключ в кликхаусе с помощью движка MergeTree?

Я пытаюсь обновить первичный ключ в простой таблице.

Когда я выполняю такой запрос:

alter table test update id = 2 where id = 1;

Я вижу сообщение:

Cannot UPDATE key column `id`

Есть ли какие-нибудь обходные пути по этому поводу?


person the_kaba    schedule 03.05.2019    source источник


Ответы (1)


Нет. В качестве обходного пути вам нужно изменить первичный ключ на разные столбцы, которые не нуждаются в обновлении. Это невозможно сделать на месте, поэтому вам нужно создать новую таблицу с правильным первичным ключом, а затем перенести данные с помощью INSERT + SELECT или clickhouse-copier.

person Ivan Blinkov    schedule 04.05.2019