#mysql #sql #alter
Вопрос:
Мне нужно добавить столбец в таблицу SQL. Можно ли взять новое значение, которое будет вставлено в новый столбец, из другого столбца?
Например, пусть MyTable будет таблицей , которую нужно изменить, в ней есть логическое поле is_ok
, теперь я хочу добавить целое поле points
. Я хочу установить значение файла points
для всех предыдущих записей равным 1 или 0 в зависимости от is_ok
поля
Я пытался
alter table `MyTable` add `points` integer(16) default `MyTable`.`is_ok`
Но, конечно, это не сработало.
Есть ли способ добиться этого в MySQL?
Комментарии:
1. Я думаю, вам нужно два шага: добавить столбец, обновить таблицу.
Ответ №1:
То, как вы пытаетесь это сделать, невозможно.
Сначала измените таблицу, а затем обновите значения.
alter table `MyTable` add `points` integer(16) default null ;
UPDATE MyTable SET points = is_ok ;
Комментарии:
1. Разве мы не говорим здесь об одной таблице, где добавляется только столбец? Следовательно:
update mytable set points = is_ok;
.2. @ThorstenKettner, насколько я понимаю
OP
, хочет, чтобы столбец был создан и заполнен данными из другого столбца таблицы3. @ThorstenKettner Я думаю , что вы правы , я неправильно понял вопрос, это та же таблица