0

これが私の作成テーブルであり、これが私が得ているエラーです

DROP TABLE IF EXISTS `teamfocus_dbo`.`sysdiagrams`;
CREATE TABLE `teamfocus_dbo`.`sysdiagrams` (
    `name` VARCHAR(128) 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;

エラー

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` (`pri' at line 6

私はUNIQUEラインを取り除こうとしましたが、それでもエラーが発生しました...アイデア

4

1 に答える 1

2

-1VARBINARYほとんどのデータベースでは有効な長さではありません。

SQL Server: http: //msdn.microsoft.com/en-us/library/ms188362.aspx

varbinary [(n | max)]

可変長のバイナリデータ。nは、1から8,000までの値にすることができます。

MySQL: http ://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html

VARCHAR次の制限を提供する参照:

長さは、MySQL 5.0.3以前は0〜255、5.0.3以降のバージョンでは0〜65,535の値として指定できます。

http://dev.mysql.com/doc/refman/5.0/en/char.html

于 2011-08-20T03:23:07.743 に答える