Mysql 为什么不创建一个表?

Mysql 为什么不创建一个表?,mysql,Mysql,我尝试在mysql 5.5上创建一个表,如下所示: CREATE TABLE `markets` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `created_at` datetime(6) NOT NULL, `updated_at` datetime(6) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INC

我尝试在mysql 5.5上创建一个表,如下所示:

CREATE TABLE `markets` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `created_at` datetime(6) NOT NULL,
  `updated_at` datetime(6) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4;
但我得到了一个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL,
      01   `updated_at` datetime(6) NOT NULL,
      01   PRIMARY KEY (`id`)
      01 ) ENGINE' at line 4
我做错了什么?

而不是

`created_at` datetime(6) NOT NULL,
`updated_at` datetime(6) NOT NULL,
试一试


我无法重现这个错误,看看你使用的是哪个版本的MySQL?@NicoHaase在5.7中工作正常,但在5.5中没有。它有帮助吗?好的,这个解决了它。我的问题是从5.7中执行
mysqldump
,并导入到5.5中。我不明白的是,多年来我一直在这样做(使用ruby脚本),没有出现这个错误。也许我的本地mysqldump已经开始添加
(6)
?随着MySQL的更新,与旧版本的兼容性会降低。5.5在这一点上相当陈旧,值得更新。
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,