16.4.1.13 复制和小数秒支持
MySQL 5.7 允许TIME,DATETIME和TIMESTAMP值的小数秒,精度最高为微秒(6 位数)。参见第 11.2.7 节“时间值的分数秒”。
从了解小数秒的源服务器复制到不支持以下内容的较旧副本(MySQL 5.6.3 和更早版本)时,可能会出现问题:
-
对于CREATE TABLE语句包含*
fsp
*(分数秒精度)值大于 0 的列,由于解析器错误,复制将失败。 -
使用*
fsp
*值为 0 的临时数据类型的语句将适用于基于语句的日志记录,但不适用于基于行的日志记录。在后一种情况下,数据类型在源上具有二进制格式,并且类型代码与副本上的类型代码不同。 -
一些 table 达式结果在源和副本上会有所不同。示例:在源上,
timestamp
系统变量返回一个包含微秒小数部分的值;在副本上,它返回一个整数。在源代码上,返回包含当前时间的结果的函数(例如CURTIME(),SYSDATE()或UTC_TIMESTAMP())将参数解释为*fsp
*值,并且返回值包括该位数的小数秒部分。在副本上,这些函数允许一个参数,但忽略它。