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