Erro de sintaxe do MySQL Migration Toolkit ao criar o objeto de diagrama do Sql Server

1

Eu tenho outro erro de sintaxe ao migrar um diagrama. Não tenho certeza se esse diagrama é necessário, mas seria bom ter uma migração tranquila, e isso é tudo o que está atrapalhando.

O erro é: Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MySQL para a sintaxe correta para usar próximo a '-1) NULL, PRIMARY KEY (' diagram_id '), UNIQUE INDEX' UK_principal_name '(' pri 'na linha 6

E a sintaxe tem um VARBINARY(-1) que nunca vi antes. Esse é o problema?

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;
    
por David Fox 21.09.2010 / 23:16

2 respostas

0

VARBINARY (-1), -1 é um comprimento de binário. Defina o comprimento correto, como 100

  'definition' VARBINARY(100) NULL,
    
por 21.09.2010 / 23:29
1

Não tenho experiência com o tipo de dados, mas acredito que esse seja o problema:

O comprimento máximo permitido é o mesmo para BINARY e VARBINARY, pois é para CHAR e VARCHAR, exceto que o comprimento para BINARY e VARBINARY é um comprimento em bytes e não em caracteres.

Então, sim, não acho que 1 byte negativo tenha tamanho válido.

    
por 21.09.2010 / 23:28