科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道4.16.1 从一个3.22版本升级到3.23

4.16.1 从一个3.22版本升级到3.23

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

MySQL 3.23支持新MyISAM类型和旧ISAM类型的表。你不必须变换你的旧式表给3.23使用。

作者:天极软件 来源:天极软件 2008年1月21日

关键字: 升级 版本 MySQL

  • 评论
  • 分享微博
  • 分享邮件

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时,下面列出你必须注意的事情:

  • INNERDELAYED现在是保留字。
  • 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 BYORDER BY获得排序的输出。
  • 如果没有匹配的行,SUM()现在返回NULL,而不是 0。这是遵照ANSI SQL。
  • 新的限制词:CASE、THEN、WHEN、ELSE和END
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章