2016-12-23 2 views
0

Можно ли установить значение по умолчанию для новых записей только в столбце mysql?Значение по умолчанию для Mysql только для новых записей

Я хочу, чтобы все строки до сегодняшнего дня были пустыми, если ничего не было введено, но любые новые строки, добавленные после сегодняшнего дня, являются определенной строкой, если для этого столбца ничего не было введено.

Возможно ли это?

+0

вы можете создать новый столбец AutoIncrement, но не сделать это необходимо для того, что предыдущие записи сохранить нулевое значение. –

+0

@ AndréFecteau Я так не думаю. MySQL откажется создать столбец автоматического инкремента, который является нулевым или не является первичным ключом. –

+0

@MichaelBerkowski вы правы, извините. Просто попробовал это на моем собственном экземпляре MySQL, и он говорит, что столбец ИИ должен быть ключом. –

ответ

2

Искать во всех строках таблицы и проверить, не является ли конкретный столбец, если да, то установите его в значение null.

UPDATE tablename SET column = CASE column WHEN '' THEN NULL ELSE column END 

Для будущих записей, которые можно добавить в таблицу по умолчанию Constraint так:

ALTER TABLE tablename ALTER column SET DEFAULT 'specific string' 
Смежные вопросы