使用 Workbench 将 MS Access 迁移到 MySQL 时出现日期时间错误
Posted
技术标签:
【中文标题】使用 Workbench 将 MS Access 迁移到 MySQL 时出现日期时间错误【英文标题】:Datetime error migrating MS Access to MySQL with Workbench 【发布时间】:2019-08-26 17:09:30 【问题描述】:我正在尝试使用 Workbench 将 MS Access 数据库迁移到 mysql Server,但 Workbench 在 SQL CREATE 脚本中生成错误,导致某些表无法创建。大多数是以下形式:
为“TransDate”指定的精度 19 太大。最大值为 6..
SQL 错误:1426
参考:
CREATE TABLE IF NOT EXISTS `dbName`.`tblName` (
`ID` INT(10) NOT NULL,
`TransDate` DATETIME(19) NULL,
`ClientID` INT(10) NULL,
...
如您所见,它还会生成带有不推荐使用的显示宽度语法的整数类型,这也是我想避免的。
如何让 Workbench 生成避免这些问题的脚本?
编辑
我知道脚本可以在创建目标结果阶段手动编辑;但是有很多表有这些错误,我看不到任何用文本编辑器编辑它们的方法,所以我正在寻找一个解决方案,其中 Workbench 会自动生成正确的脚本。
【问题讨论】:
你试过这个dev.mysql.com/doc/workbench/en/… 吗?效果很好 【参考方案1】:在“手动编辑”选项卡中,我找到了一个用于编辑列映射的选项,它允许您一次在脚本中更改多个相同类型的列。从下拉窗口中选择列映射,然后右键单击与要重新映射的类型对应的行。然后选择“查找和替换目标类型”并提供您要映射的类型。
【讨论】:
奇怪的是它默认为 19,这在 MySQL 中甚至不支持。文档甚至说最大精度是 6。dev.mysql.com/doc/refman/8.0/en/data-types.html以上是关于使用 Workbench 将 MS Access 迁移到 MySQL 时出现日期时间错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ms Access 2007 中使用 MySQL 视图,而不会出现字符串列的垃圾?
使用 Workbench 迁移向导通过 ssh 将 MS SQL Server 数据库迁移到 MySQL
将 accde 文件从 MS Access 2013 保存到 MS Access 2010