mysql - 这个创建表语法有什么问题

标签 mysql create-table

这是我创建的表,这是我收到的错误

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

我什至尝试取出唯一的线,但仍然出错......任何想法

最佳答案

对于大多数数据库,

-1 不是 VARBINARY 的有效长度:

SQL 服务器: http://msdn.microsoft.com/en-us/library/ms188362.aspx

varbinary [ ( n | max) ]

Variable-length binary data. n can be a value from 1 through 8,000.

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

VARCHAR,它提供以下限制:

The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions.

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

关于mysql - 这个创建表语法有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129356/

相关文章:

php - 在 while 循环内使用 mysql 查询获取上一个查询时出错

python - 何时提交数据库连接?

php - MySQL语句性能和优化

mysql - 计数(Select * Join)mysql查询

Mysql:创建表查询中的 'AUTO_INCREMENT=5' 是什么?

php - 带重音字符的 Json 编码

MySQL - 使用触发器复制表

MySQL - 如何锁定单行?

php - 在 MySQL 中创建外键