SS
Size: a a a
SS
SS
Mİ
DC
DC
Mİ
Mİ
DC
Mİ
DC
DC
Mİ
Mİ
DC
S
CREATE TABLE IF NOT EXISTS REPORTING.device_families
(
device_family_id Int32,
nom String
)
ENGINE = MergeTree() ORDER BY device_family_id
ALTER TABLE REPORTING.device_families MODIFY COLUMN device_family_id UInt8;
Code: 44, e.displayText() = DB::Exception: ALTER of key column device_family_id must be metadata-only (version 19.17.4.11)
YY
S
YY
Изменение типа у столбцов, входящих в первичный ключ возможно только в том случае, если это изменение не приводит к изменению данных (например, разрешено добавление значения в Enum или изменение типа с DateTime на UInt32).
Если возможностей запроса ALTER не хватает для нужного изменения таблицы, вы можете создать новую таблицу, скопировать туда данные с помощью запроса INSERT SELECT, затем поменять таблицы местами с помощью запроса RENAME, и удалить старую таблицу. В качестве альтернативы для запроса INSERT SELECT, можно использовать инструмент clickhouse-copier.
MR
D