When I try to put a value into a DATE field which is invalid, MySQL seems to use 0000-00-00 instead. Is there a way I can do this “check” without updating a DATE field? And to do it from for example PHP?
Like, is there a way I can query the MySQL server and ask “Hey, is this DATE, TIME or DATETIME valid to you?”
Or is there maybe an even better way of doing it?
If you choose a server mode for the MySQL server that doesn’t allow invalid date values a query containing such a malformed date representation will cause an error instead of (silently) assuming 0000-00-00
see http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html
e.g.
prints