Sql-Server
創建 Sql Server 圖表對象時 MySQL Migration Toolkit 語法錯誤
遷移圖表時出現另一個語法錯誤。我不確定這個圖表是否必要,但如果能順利遷移會很好,這就是阻礙的全部。
錯誤是:您的 SQL 語法有錯誤;檢查與您的 MySQL 伺服器版本相對應的手冊以獲取正確的語法,以便在 ‘-1) NULL、PRIMARY KEY (‘diagram_id’)、UNIQUE INDEX ‘UK_principal_name’ (‘pri’ at line 6
並且語法有一個
VARBINARY(-1)
我以前從未見過的。那是問題嗎?刪除表如果存在`Fonebook_dbo`.`sysdiagrams`; 創建表`Fonebook_dbo`.`sysdiagrams`( `name` VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `principal_id` INT(10) 非空, `diagram_id` INT(10) NOT NULL AUTO_INCREMENT, `版本` INT(10) NULL, `定義` VARBINARY(-1) NULL, 主鍵(`diagram_id`), 唯一索引`UK_principal_name`(`principal_id`,`name`) ) 引擎=創新;
VARBINARY(-1), -1 是二進制的長度。設置正確的長度,比如 100
`definition` VARBINARY(100) NULL,
我對數據類型沒有經驗,但我猜這是問題所在:
BINARY 和 VARBINARY 的允許最大長度與 CHAR 和 VARCHAR 相同,除了 BINARY 和 VARBINARY 的長度是字節長度而不是字元長度。
所以是的,我認為負 1 字節不是有效長度。