в этом сказал
значение по умолчанию должно быть константой; это не может быть функция или выражение
Вы можете сказать мне, почему? почему мы должны дать постоянное значение по умолчанию?
Это ограничение в MySQL. Вы можете использовать другую СУБД или обойти проблему , используя триггер .
CREATE TRIGGER yourtable_insert BEFORE INSERT ON `yourtable` FOR EACH ROW SET NEW.youraddedcolumn = NOW(), NEW.yourupdatedcolumn = NOW();
Одна из причин, по которой я могу придумать, - это двусмысленность.Должно ли выражение оцениваться до его сохранения по умолчанию или для каждого INSERT?
Обратите внимание, что есть одно непостоянное значение, которое вы можете использовать в определении таблицы:
stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Это можно использовать только для столбца TIMESTAMP, но оно достаточно полезно.
TIMESTAMP