metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-12-01 05:41 pm

mysql

Правильно ли я понимаю, что `created_on` datetime NOT NULL в создании таблицы mysql воспринимает чисто как рекомендацию, но вставлять null в такие поля разрешает?
Или это у меня просто руби и прочая кложурь падают от значения "00-00-0000 00:00:00" которое он туда по умолчанию впихивает при инсерте?

[identity profile] juan-gandhi.livejournal.com 2014-12-01 05:36 pm (UTC)(link)
Философски глядя, это херня.

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

[identity profile] metaclass.livejournal.com 2014-12-01 06:29 pm (UTC)(link)
Не, тут все от входа сломано, если основа основ, т.е. база данных, позволяет себе мало того, что создавать значения недопустимые типом (вставлять NULL в не-NULL поле), так еще и заменяет их на значения, в принципе недопустимые типом, который внутри Nullable[] живет.
Ну, ладно, для меня это система внешняя, я на границе от нее костыль поставлю, но все равно печально :)

[identity profile] sergiej.livejournal.com 2014-12-01 07:30 pm (UTC)(link)
оракл тоже умеет вставлять нулл не в нулл

[identity profile] juan-gandhi.livejournal.com 2014-12-01 09:05 pm (UTC)(link)
Это другое дело, печалиться от несовершенства мира. Мейер как раз и сказал, что куда ни кинь - везде монада (а чистоты нетути).