I think MySQL has a little ways to go yet before I would subjectively
call it best.
I posted twice to the list with questions about porting my application
that
runs on (SQL Server, Oracle, PostgreSQL, Sybase SQL Anywhere, MS Access,
and
DB2) to MySQL. No one on the mysql list, or the internals list responded
to my pretty basic issues:
1) Why can't I declare a datetime field with DEFAULT NOW()
Because MySQL only lets you declare constants as defaults. Timestamp
fields are an exception hack. I can understand why you might want to
port applications from SQL Server/Oracle/Sybase/Access/DB2 to MySQL, but
if you already have an app on PostgreSQL, why would you want to port it
to MySQL? In that case you already have a "free" database that does what
you want.
2) Since the SQL standard states that identifiers are not case
sensitive, how can I use the DB without case sensitivity, when I don't
have authority to change the system wide lowercase setting? I wouldn't have
authority to change the setting in a hosted environment.
If this is your worst gripe about MySQL's compliance with SQL standards,
you have obviously not tried to use it for very complex things...
I have to say, MySQL still looks like a tinker-toy to me.
It is - but for most purposes it is "good enough".
If your applications grows to exceeds it's capabilities, provided you
have written your queries in a reasonable and sensible way (_especially_
including NOT using MySQL proprietary extensions, and particularly using
enum() fields (which are an insane idea in what is supposed to be a
RELATIONAL database - but that's a whole different rant)), porting to a
database with the extra features you require can be fairly painless.
Porting the data and table structures is certainly simple enough. (I
have written scripts to do this in a matter of hours in the past - the
existing porting scripts are next to useless).
Gordan
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]