У меня есть таблица с тысячами строк. Поскольку изначально таблица не была построена с использованием столбца created_at, получить метку времени их создания невозможно. Однако очень важно начать получать отметки времени для будущих строк.
Есть ли способ добавить столбец отметки времени со значением по умолчанию NOW (), чтобы он не заполнял значения в предыдущих строках, а только для будущих?
Если я сделаю ALTER
запрос, он заполнит все строки меткой времени:
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
postgresql
Артур
источник
источник
UPDATE
не обязательно. Если вы добавите столбец по умолчанию к существующему столбцу, уже существующие строки не затронуты. Значение по умолчанию заполняется только в том случае, если вы добавляете столбец и значение по умолчанию в той же команде.Например, я создам таблицу, названную
users
ниже, и дам столбцу с именемdate
по умолчанию.NOW()
Спасибо
источник
Попробуйте что-нибудь вроде: -
заменив
table_name
имя вашей таблицы.источник