в таблицу и одновременно добавить его в первичный ключ? В документации написано только про удаление и изменение:
"Отсутствует возможность удалять столбцы, входящие в первичный ключ или ключ для сэмплирования (в общем, входящие в выражение ENGINE). Изменение типа у столбцов, входящих в первичный ключ возможно только в том случае, если это изменение не приводит к изменению данных (например, разрешено добавление значения в Enum или изменение типа с DateTime на UInt32)."
То есть любое изменение первичного ключа требует создания новой таблицы:
"Если возможностей запроса ALTER не хватает для нужного изменения таблицы, вы можете создать новую таблицу, скопировать туда данные с помощью запроса INSERT SELECT, затем поменять таблицы местами с помощью запроса RENAME, и удалить старую таблицу."
Да, иначе пришлось бы перестраивать индекс.
Обсуждают сегодня