У меня есть еще одна синтаксическая ошибка при переносе диаграммы. Я не уверен, что эта диаграмма необходима, но было бы неплохо иметь плавную миграцию, и это все, что мешает.
Ошибка: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '-1) NULL, PRIMARY KEY (' diagram_id '), UNIQUE INDEX' UK_principal_name '(' pri 'в строке 6
И синтаксис имеет VARBINARY(-1)
которого я никогда раньше не видел. Это проблема?
DROP TABLE IF EXISTS `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;
У меня нет опыта работы с типом данных, но я предполагаю, что проблема:
Допустимая максимальная длина для BINARY и VARBINARY такая же, как и для CHAR и VARCHAR, за исключением того, что длина для BINARY и VARBINARY - это длина в байтах, а не в символах.
Так что да, я не думаю, что отрицательный 1 байт - допустимая длина.
VARBINARY (-1), -1 - длина двоичного файла. Установите правильную длину, например 100
`definition` VARBINARY(100) NULL,