创建 Sql Server 图表对象时,MySQL 迁移工具包语法错误

创建 Sql Server 图表对象时,MySQL 迁移工具包语法错误

我在迁移图表时又遇到了一个语法错误。我不确定这个图表是否有必要,但如果迁移过程顺利就好了,而这正是阻碍我前进的唯一原因。

错误是:您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在 '-1) 附近使用的正确语法:NULL、PRIMARY KEY ('diagram_id')、UNIQUE INDEX 'UK_principal_name' ('pri',第 6 行

而且语法中有一个VARBINARY(-1)我从未见过的。这就是问题所在吗?

如果存在“Fonebook_dbo”。“sysdiagrams”则删除表;
创建表 `Fonebook_dbo`.`sysdiagrams` (
  `name` VARCHAR(128) 字符集 utf8 COLLATE utf8_general_ci NOT NULL,
  `principal_id` INT(10) NOT NULL,
  `diagram_id` INT(10) NOT NULL AUTO_INCREMENT,
  `版本` INT(10) NULL,
  `定义` VARBINARY(-1) NULL,
  主键 (`diagram_id`),
  唯一索引 `UK_principal_name` (`principal_id`,`name`)
引擎=INNODB;

答案1

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

  `definition` VARBINARY(100) NULL,

答案2

我对这种数据类型不太熟悉,但我猜这就是问题所在:

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

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

相关内容