Добавьте значение из другого столбца в таблице alter

#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 Я думаю , что вы правы , я неправильно понял вопрос, это та же таблица