迁移图时,我有另一个语法错误。 我不确定这个图是否有必要,但是平稳过渡是一件很好的事,而这一切都是阻碍我们的。
错误是:您的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字节是一个有效的长度。