扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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
。
mysqldump
s在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()
。
MySQL
3.22,SELECT DISTINCT ...
的输出几乎总是被排序的。在3.23上,你必须使用GROUP BY
或ORDER BY
获得排序的输出。
,SUM()
现在返回NULL
,而不是 0。这是遵照ANSI SQL。
CASE、THEN、WHEN、ELSE和END
。 如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者