MySQL与标准SQL的差别

我们试图使MySQL服务器遵从ANSI SQL标准和ODBC SQL标准,但在某些情况下MySQL服务器执行的操作有所不同:

· 对于VARCHAR列,存储值时删除了尾部空间。(在MySQL 5.0.3中更正)。请参见A.8节,“MySQL中的已知事宜”。

· 在某些情况下,定义表或更改其结构时,将CHAR列转换为VARCHAR列。(在MySQL 5.0.3中更正)。请参见13.1.5.1节,“沉寂的列规格变更”。

· 删除表时,不自动取消关于表的权限。必须明确发出REVOKE语句,以撤销针对表的权限。请参见13.5.1.3节,“GRANT和REVOKE语法”。

· CAST()函数不支持对REAL或BIGINT的抛弃。请参见12.8节,“Cast函数和操作符”。

· 标准SQL要求,SELECT语句中的HAVING子句能够引用GROUP BY子句中的列。在MySQL 5.0.2之前,不能完成该功能。