Я использую MySQL и хочу добавить столбец в таблицу, но это значение по умолчанию, я хотел бы скопировать данные из другого столбца, например:
У меня есть тест таблицы с 2простые столбцы:
SELECT * FROM TEST
+----+-------------+
| ID | DESCRIPTION |
+----+-------------+
| 1 | test 1 |
| 2 | test 2 |
| 3 | test 3 |
| 4 | test 4 |
+----+-------------+
Я хотел бы добавить столбец в той же таблице, исходя из данных описания, поэтому, если я запущу:
ALTER TABLE TEST ADD COLUMN DESCRIPTION2 VARCHAR(20)
, я получу:
SELECT * FROM TEST
+----+-------------+--------------+
| ID | DESCRIPTION | DESCRIPTION2 |
+----+-------------+--------------+
| 1 | test 1 | test 1 |
| 2 | test 2 | test 2 |
| 3 | test 3 | test 3 |
| 4 | test 4 | test 4 |
+----+-------------+--------------+
Я мог бы легко сделать это с помощью простого обновления после таблицы изменения, но поскольку таблица, которую я собираюсь сделать, является гигантской, я бы предпочел сделать это в одном выражении для увеличения производительности, но яне знаю, возможно ли это, поскольку я не нашел ничего связанного с этим вопросом в документации по MySQL.
Просто чтобы быть уверенным, я попытался запустить:
ALTER TABLE TEST ADD COLUMN DESCRIPTION2 VARCHAR(20) DEFAULT `DESCRIPTION`
, но этонарушение синтаксиса
Есть ли лучший способ сделать это, а не обновление?