We try to make MySQL Server follow the ANSI SQL standard and the ODBC SQL standard, but MySQL Server performs operations differently in some cases:
In some cases,
CHARcolumns are silently converted to
VARCHARcolumns when you define a table or alter its structure. (This no longer occurs as of MySQL 5.0.3). See Section 126.96.36.199, “Silent Column Specification Changes”.
There are several differences between the MySQL and standard SQL privilege systems. For example, in MySQL, privileges for a table are not automatically revoked when you delete a table. You must explicitly issue a
REVOKEstatement to revoke privileges for a table. For more information, see Section 188.8.131.52, “REVOKE Syntax”.
Standard SQL requires that a
HAVINGclause in a
SELECTstatement be able to refer to columns in the
GROUP BYclause. This cannot be done before MySQL 5.0.2.