扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
MySQL 3.23支持新MyISAM类型和旧ISAM类型的表。你不必须变换你的旧式表给3.23使用。缺省地,所有的新表将用类型MyISAM创建(除非你使用--default-table-type=isam选项启动mysqld)。你可以用ALTER TABLE或Perl脚本mysql_convert_table_format将一个ISAM表转换成一个MyISA表。
3.22和3.21客户将毫无问题地与一个3.23服务器一起工作。
当升级到3.23时,下面列出你必须注意的事情:
INNER和DELAYED现在是保留字。
FLOAT(X)现在是一个真正的浮点类型。
DECIMAL(length,dec)时,长度参数不再包括一个符号或小数点位置。
TIME字符串必须是下列现有格式之一:[[[DAYS] [H]H:]MM:]SS[.fraction]或[[[[[H]H]H]H]MM]SS[.fraction]。
现在,LIKE使用'='同样的字符比较规则比较字符串。如果你要求旧的行为,你可以用CXXFLAGS=-DLIKE_CMP_TOUPPER标志编以MySQL。
REGEXP现在对正常(不是二进制的)字符串是忽略大小写的。
MyISAM表(.MYI),你应该使用myisamchk,而对ISAM(.ISM)表使用isamchk。
mysqldumps在MySQL3.22和3.23之间兼容,你应该不使用mysqldump的--opt或--full选项。
DATE_FORMAT()的调用,保证在在每个格式字符前有一个“%”。
mysql_fetch_fields_direct现在是函数(它以前是一个宏)并且它返回一个指向MYSQL_FIELD的指针而不是一个MYSQL_FIELD。
mysql_num_fields()可以不再被用在一个MYSQL*对象上(它现在是一个函数,拿MYSQL_RES*作为一个参数)。相反你现在应该使用mysql_field_count()。
MySQL3.22,SELECT DISTINCT ...的输出几乎总是被排序的。在3.23上,你必须使用GROUP BY或ORDER BY获得排序的输出。
,SUM()现在返回NULL,而不是 0。这是遵照ANSI SQL。
CASE、THEN、WHEN、ELSE和END。 如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。