shyiko/mysql-binlog-connector-java

Mysql5.7+ Datetime/Timestamp percision missing

Opened this issue · 1 comments

mysql datetime support percision(0-6) since 5.7 https://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html

test table:

CREATE TABLE `table_time` (
  `id` bigint(20) NOT NULL,
  `Column1-time` time DEFAULT NULL,
  `Column1-timestamp` timestamp(6) NULL DEFAULT NULL,
  `Column1-date` date DEFAULT NULL,
  `Column1-datetime` datetime(6) DEFAULT NULL,
  `Column1-doub` double DEFAULT NULL,
  `Column1` decimal(10,5) DEFAULT NULL
)

test sql:

UPDATE `table_time` 
SET `Column1-timestamp`='2019-04-11 10:59:49.123456', `Column1-datetime`='2019-04-11 10:59:49.123456' 
WHERE (`id`='391219250') AND (`Column1-time`='10:59:49') AND (`Column1-timestamp`='2019-04-11 10:59:49.000000') AND (`Column1-date`='2019-04-11') AND (`Column1-datetime`='2019-04-11 10:59:49.000000') AND (`Column1-doub`='4.49782305114336e307') AND (`Column1`='12345.54321') LIMIT 1

Event I got:

image

image

123456 / 1000 = 123
so 456 was missing