创buildSql Server图表对象时MySQL Migration Toolkit语法错误

迁移图时,我有另一个语法错误。 我不确定这个图是否有必要,但是平稳过渡是一件很好的事,而这一切都是阻碍我们的。

错误是:您的SQL语法中有错误; 检查与您的MySQL服务器版本相对应的手册,以在'-1'NULL,PRIMARY KEY('diagram_id'),UNIQUE INDEX'UK_principal_name'('pri'at line 6

语法有一个我从未见过的VARBINARY(-1) 。 这是问题吗?

  DROP TABLE IF EXIFTS`Fonebook_dbo`.`sysdiagrams`;
 CREATE TABLE`Fonebook_dbo`.`sysdiagrams`(
   `name` VARCHAR(128)CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
   `principal_id` INT(10)NOT NULL,
   `diagram_id` INT(10)NOT NULL AUTO_INCREMENT,
   `version` INT(10)NULL,
   `definition` VARBINARY(-1)NULL,
   PRIMARY KEY(`diagram_id`),
   UNIQUE INDEX`UK_principal_name`(`principal_id`,`name`)
 )
 ENGINE = INNODB; 

VARBINARY(-1),-1是一个二进制的长度。 设置正确的长度,如100

  `definition` VARBINARY(100) NULL, 

我没有经验的数据types,但我猜这是问题:

BINARY和VARBINARY允许的最大长度与CHAR和VARCHAR相同,除了BINARY和VARBINARY的长度是以字节为单位的长度而不是字符长度。

所以是的,我不认为负1字节是一个有效的长度。