значение по умолчанию должно быть константой; Зачем? - PullRequest
1 голос
/ 17 июля 2011

в этом сказал

значение по умолчанию должно быть константой; это не может быть функция или выражение

Вы можете сказать мне, почему? почему мы должны дать постоянное значение по умолчанию?

Ответы [ 3 ]

4 голосов
/ 17 июля 2011

Это ограничение в MySQL.
Вы можете использовать другую СУБД или обойти проблему , используя триггер .

CREATE TRIGGER yourtable_insert BEFORE INSERT ON `yourtable`
    FOR EACH ROW SET NEW.youraddedcolumn = NOW(), NEW.yourupdatedcolumn = NOW();
1 голос
/ 17 июля 2011

Одна из причин, по которой я могу придумать, - это двусмысленность.Должно ли выражение оцениваться до его сохранения по умолчанию или для каждого INSERT?

0 голосов
/ 17 июля 2011

Обратите внимание, что есть одно непостоянное значение, которое вы можете использовать в определении таблицы:

stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Это можно использовать только для столбца TIMESTAMP, но оно достаточно полезно.

...