184 похожих чатов

Привет! Подскажите, есть ли возможность добавить колонку в таблицу на

основе данных из строки? например сконкатенировать поля или просто скопировать значение из другого поля.

10 ответов

5 просмотров

да, можно ALTER TABLE db.table ADD COLUMN new_column LowCardinality(String) MATERIALIZED concat(column1, column2); для новых данных будет вычислять значение в момент вставки для старых данных будет вычислять значения в момент background merge можно OPTIMIZE TABLE db.table FINAL потом попробовать сделать но если таблица небольшая (единицы гигабайт)

Alexandr-Kondratev Автор вопроса
Slach [altinity]
да, можно ALTER TABLE db.table ADD COLUMN new_colu...

Спасибо! А если явно указывать значение при вставке - материализованное представление использоваться будет?

Alexandr Kondratev
Спасибо! А если явно указывать значение при вставк...

это не материализованное представление это MATERIALIZED колонка кстати глянул доку последнюю уже не уверен что будет работать попробуйте

Alexandr-Kondratev Автор вопроса
Slach [altinity]
это не материализованное представление это MATERIA...

понял, спасибо. не, MATERIALIZED COLUMN это не то что нужно.

Alexandr Kondratev
понял, спасибо. не, MATERIALIZED COLUMN это не то ...

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

Alexandr-Kondratev Автор вопроса
Slach [altinity]
это именно то что вы описали когда надо чтобы знач...

ок, виноват, неправильная постановка вопроса получилась. Правильно ли понимаю, чтобы иметь возможность указывать значение при вставке вместо materialized, должно быть DEFAULT concat(column1, column2)? и произойдет аналогично описанному Вами ранее со старыми/новыми данными.

Alexandr Kondratev
ок, виноват, неправильная постановка вопроса получ...

DEFAULT будет срабатывать только для новых вставляемых данных если в списке вставляемых хостов новая колонка отсутствует для старых придется делать мутацию ALTER TABLE ... ON CLUSTER ... UPDATE ... SETTINGS mutations_sync=2;

Slach [altinity]
DEFAULT будет срабатывать только для новых вставля...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта