Блокировка «0000-00-00» из полей даты MySQL

У меня есть база данных, в которой старый код любит вставлять '0000-00-00' в столбцы Date и DateTime вместо реального Дата. Итак, у меня есть следующие два вопроса:

  1. Могу ли я что-нибудь сделать на уровне базы данных, чтобы заблокировать это? Я знаю, что могу сделать столбец ненулевым, но, похоже, это не блокирует эти нулевые значения.
  2. Как лучше всего определять существующие нулевые значения в полях даты? У меня около сотни таблиц с 2-3 столбцами дат в каждой, и я не хочу запрашивать их по отдельности.

Followup:

По умолчанию уже установлено значение null. Давным-давно по умолчанию было «0000-00-00». В некотором коде все еще явно помещается «0000-00-00». Я бы предпочел заставить этот код выдавать ошибку, чтобы я мог изолировать и удалить ее.

10
задан David 8 October 2010 в 15:26
поделиться