2011-06-08 52 views
0

我收到一个语法错误:语法错误(-1)

MySQL said: Documentation #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1) NULL, PRIMARY KEY (diagram_id), UNIQUE INDEX UK_principal_name (p' at line 6

这就是我试图运行。我已经看过它告诉我的行是不正确的,我还没有找到正确的语法来使用。任何帮助,将不胜感激。

DROP TABLE IF EXISTS `teamfocus_dbo`.`sysdiagrams`; 
CREATE TABLE `teamfocus_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; 
+1

我建议你以更可读的方式格式化SQL - 这也将帮助你发现语法错误。 – Oded 2011-06-08 18:35:32

回答

2

尝试改变VARBINARY(-1)到正长,像VARBINARY(1)

0

很肯定你不能有负长度列...改变VARBINARY(-1),以一个积极的长度。

也许你的意思是设置默认值为-1?

`definition` VARBINARY(1) NULL DEFAULT -1 
+0

“VARBINARY(-1)到一个正的长度,像VARBINARY(1)”工作,但[代码]'定义'VARBINARY(1)NULL DEFAULT -1 [/ code]没有。我不确定它是否设置为-1。我正在把我没有从MS SQL创建到MYSQL的数据库。但它现在全部接缝良好。谢谢您的帮助。 – nezter 2011-06-08 18:55:50

相关问题