"Quang D. Nguyen" wrote:
> On Sat, 29 May 1999, Jim Faucette wrote:
> > Data entry exception coding is not the same as the Y2K storage issue.
> That true, I agree with you.
> > I do agree that MySQL's handling of date entries is not consistant. The
> > developers' position is that exception coding should be the users
> > responsibility. If MySQL did NO date range checks on date entries
> > (instead of the few it does now), then maybe this question would stop
> > being asked so often.
> 1. As I think, one of very primitive program that manage the date-time,
> can be able to check these ranges. Why MySQL could not?
> 2. If MySQL can't be able to check it, I don't know why do they want to
> build DATE DATETIME etc.. column type? Because, I can use CHAR VARCHAR
> instead and I will check date entry before I type it.
> > So 19991299 would be accepted just as 19990231 is now.
> I think 00000000 is better, because I will know I did wrong.
The reason MySQL was written in the first place is to provide speed.
Checking data ranges slows down inserts, so this is why this is not
done. In a way you can say that MySQL is like C, while Oracle and
Informix are like Java. In C, the assumption is that the programmer
knows what he is doing and is willing to deal with the consequences of
his negligence/stupidity which is a trade off for speed. In Java, the
programmer is assumed to be irresponsible, and the compiler and virtual
machine will barf if they think he did something stupid, however the
price for this is decreased performance. So if you think you can code
around your own stupidity/negligence and are willing to do it to gain
speed, MySQL is what you want.