从 MSSQL 迁移到 MYSQL 错误 1064 MYSQL Workbench

Posted

技术标签:

【中文标题】从 MSSQL 迁移到 MYSQL 错误 1064 MYSQL Workbench【英文标题】:Migrating from MSSQL to MYSQL error 1064 MYSQL Workbench 【发布时间】:2015-10-28 04:53:36 【问题描述】:

我目前正在准备使用 mysql 工作台从 MSSQL 迁移到 MYSQL。

我收到的错误如下。

ERROR: Error executing 'CREATE TABLE IF NOT EXISTS `dbo`.`VendorGTG` (
  `VID` INT NOT NULL COMMENT '',
  `Attending` TINYINT(1) NULL DEFAULT 0 COMMENT '',
  `Name1` VARCHAR(50) NULL COMMENT '',
  `Name2` VARCHAR(50) NULL COMMENT '',
  `Inserted` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '',
  `NameTag` TINYINT(1) NULL DEFAULT 0 COMMENT '',
  PRIMARY KEY (`VID`)  COMMENT '')'
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 'COMMENT '')' at line 8.
SQL Error: 1064

【问题讨论】:

@TTeeple 在建议进行此类编辑之前,请仔细阅读问题。这个问题确实与 SQL Server 有关。 @DavidG 我会这么说。 OP 正在从 SQL Server 迁移,但有问题的错误与 MySQL 相关。 @TTeeple 然而发布的代码是 SQL Server 语法。无论哪种方式,都不能保证删除标签的编辑建议。 @DavidG COMMENT, TINYINT(1),将所有列括在引号中,这一切都对我来说是 MySQL 语法。 @TTeeple 因为它只是从 SQL Server 语法部分转换而来。检查我的答案。 【参考方案1】:

MySQL 没有 SQL Server 之类的架构,因此请从您的代码中删除它:

CREATE TABLE IF NOT EXISTS VendorGTG (
  `VID` INT NOT NULL COMMENT '',
  `Attending` TINYINT(1) NULL DEFAULT 0 COMMENT '',
  `Name1` VARCHAR(50) NULL COMMENT '',
  `Name2` VARCHAR(50) NULL COMMENT '',
  `Inserted` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '',
  `NameTag` TINYINT(1) NULL DEFAULT 0 COMMENT '',
  PRIMARY KEY (`VID`)  COMMENT '')

【讨论】:

【参考方案2】:

问题在于COMMENT '' - 只需删除所有出现的情况。随时在此错误下发表评论http://bugs.mysql.com/bug.php?id=77910 我们正在努力修复它。

【讨论】:

以上是关于从 MSSQL 迁移到 MYSQL 错误 1064 MYSQL Workbench的主要内容,如果未能解决你的问题,请参考以下文章

将大表从 MySql 迁移到 MsSql

仅将表数据从 MSSQL 迁移到 MySQL

从 MSSQL 迁移到 postgresql 或 mysql [关闭]

将数据库数据从 mssql 迁移到 mysql

MSSQL 到 MySQL 迁移 - UCS-2 代理对的字符编码问题,如何从 MSSQL 数据库中删除这些?

怎么快速迁移数据从 MSSQL 到 MySQL