Как назначить столбец по умолчанию в MySQL для значения другого столбца? - PullRequest
6 голосов
/ 19 марта 2009

Я хочу добавить новый столбец в таблицу в базе данных MySQL, который должен получить значение другого столбца в той же таблице. Это возможно? Если да, то как ты это делаешь?

Ответы [ 4 ]

6 голосов
/ 19 марта 2009

Начиная с MySQL 5.0.2, вы можете написать хранимую процедуру, связанную с TRIGGER, которая может проверять новый столбец при каждой вставке строки и автоматически копировать значение другого столбца в новый столбец, если для нового столбца не было задано значение.

2 голосов
/ 22 января 2013

Вы можете использовать следующие две команды для выполнения вашей работы.

  1. Эта команда будет использоваться для добавления нового столбца в вашу таблицу. Запомните тип данных, из которого вы хотите скопировать, чтобы использовать этот тип данных в новом столбце.

    ALTER TABLE table_name ADD new_column_name VARCHAR(60);
    

2: Эта команда копирует данные из старого имени столбца в новое имя столбца.

   UPDATE table_name SET new_column_name = old_column_name;

Тогда, если вы хотите удалить предыдущий столбец, тогда вы можете использовать следующую команду

   ALTER TABLE table_name DROP COLUMN old_column_name;
2 голосов
/ 13 декабря 2010

По состоянию на 20101212 mysql не поддерживает значения по умолчанию для двух столбцов отметок времени, что означает, что вы не можете создавать и обновлять одну и ту же таблицу.

Если это то, что вы пытались сделать, то триггер с сохраненным процессом - это путь.

1 голос
/ 08 июля 2010

создайте представление, и вы можете выбрать один и тот же столбец дважды и дать ему другое имя, тогда приложение может использовать представление вместо использования таблицы напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...