1
CREATE TABLE IF NOT EXISTS `graduation_project_management`.`announcement` ( `announcement_id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `account_id` INT UNSIGNED NOT NULL , `title` TINYTEXT NOT NULL , `content` TEXT NULL , `time` TIMESTAMP NOT NULL , `state` INT ZEROFILL NOT NULL , `priority` INT ZEROFILL NOT NULL , PRIMARY KEY (`announcement_id`) , INDEX `fk_announcement_account` (`account_id` ASC) , UNIQUE INDEX `title_UNIQUE` (`title` ASC) , CONSTRAINT `fk_announcement_account` FOREIGN KEY (`account_id` ) REFERENCES `graduation_project_management`.`account` (`account_id` ) ON DELETE RESTRICT ON UPDATE RESTRICT)ENGINE = InnoDB;
执行后会发生下面这个错
Error 1170 : BLOB/TEXT Column 'title' Used in Key Specification Without a Key Length
网上说是删除索引或UNIQUE约束的TEXT或BLOB列,我把title的UNIQUE INDEX取消了仍就是这个错,能不能在不改变title类型的前提下解决这个错误。2
CREATE TABLE IF NOT EXISTS `graduation_project_management`.`project` ( `project_id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `account_id` INT UNSIGNED NOT NULL , `title` TINYTEXT NOT NULL , `major` VARCHAR(30) NOT NULL , `content` TEXT NOT NULL , `type` VARCHAR(20) NOT NULL , `property` VARCHAR(20) NOT NULL , `source` VARCHAR(20) NOT NULL , `assignment_book_path` VARCHAR(100) NULL , `interview_info` TEXT NULL , `time` TIMESTAMP NOT NULL , `note` VARCHAR(45) NULL , PRIMARY KEY (`project_id`) , UNIQUE INDEX `title_UNIQUE` (`title` ASC) , CONSTRAINT `fk_project_teacher` FOREIGN KEY () REFERENCES `graduation_project_management`.`teacher` () ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE = InnoDB;ERROR 1064 check the manual that corresponds to your MySQL server version for the right syntax to use near
')
REFERENCES `graduation_project_management`.`teacher` ()
ON DELETE NO' at line17
请问这个是什么错误,如何解决
CREATE TABLE IF NOT EXISTS `graduation_project_management`.`announcement` ( `announcement_id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `account_id` INT UNSIGNED NOT NULL , `title` TINYTEXT NOT NULL , `content` TEXT NULL , `time` TIMESTAMP NOT NULL , `state` INT ZEROFILL NOT NULL , `priority` INT ZEROFILL NOT NULL , PRIMARY KEY (`announcement_id`) , INDEX `fk_announcement_account` (`account_id` ASC) , UNIQUE INDEX `title_UNIQUE` (`title` ASC) , CONSTRAINT `fk_announcement_account` FOREIGN KEY (`account_id` ) REFERENCES `graduation_project_management`.`account` (`account_id` ) ON DELETE RESTRICT ON UPDATE RESTRICT)ENGINE = InnoDB;
执行后会发生下面这个错
Error 1170 : BLOB/TEXT Column 'title' Used in Key Specification Without a Key Length
网上说是删除索引或UNIQUE约束的TEXT或BLOB列,我把title的UNIQUE INDEX取消了仍就是这个错,能不能在不改变title类型的前提下解决这个错误。2
CREATE TABLE IF NOT EXISTS `graduation_project_management`.`project` ( `project_id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `account_id` INT UNSIGNED NOT NULL , `title` TINYTEXT NOT NULL , `major` VARCHAR(30) NOT NULL , `content` TEXT NOT NULL , `type` VARCHAR(20) NOT NULL , `property` VARCHAR(20) NOT NULL , `source` VARCHAR(20) NOT NULL , `assignment_book_path` VARCHAR(100) NULL , `interview_info` TEXT NULL , `time` TIMESTAMP NOT NULL , `note` VARCHAR(45) NULL , PRIMARY KEY (`project_id`) , UNIQUE INDEX `title_UNIQUE` (`title` ASC) , CONSTRAINT `fk_project_teacher` FOREIGN KEY () REFERENCES `graduation_project_management`.`teacher` () ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE = InnoDB;ERROR 1064 check the manual that corresponds to your MySQL server version for the right syntax to use near
')
REFERENCES `graduation_project_management`.`teacher` ()
ON DELETE NO' at line17
请问这个是什么错误,如何解决
解决方案 »
- 增大innodb_log_file_size,是不是必须要删除原有的ib_logfile0, ib_logfile1文件
- 关于linux下PostgreSQL的连接超时问题
- mysql的select效率太慢怎么优化?
- 怎样统计每天的记录?
- 在mysql的dos命令下如何执行一个sql文件
- 如何更改数据库的默认编码方式??
- MySql 2表联合查询的性能问题,急!高手帮帮忙
- 我在xp上安装PHP,apache,postgresql后,连接数据库总不行,是不是postgresql没有设置啊?那又应该怎么设置啊?
- 怎么把MYSQL数据导出成文本文件?
- 100分求EMS Mysql Manager的注册码!!!
- mysql in 的参数化怎样弄?
- 一台有数据一台没有数据,mysql查询数据不出来
`announcement_id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`account_id` INT UNSIGNED NOT NULL ,
`title` TINYTEXT NOT NULL ,
`content` TEXT NULL ,
`time` TIMESTAMP NOT NULL ,
`state` INT ZEROFILL NOT NULL ,
`priority` INT ZEROFILL NOT NULL ,
PRIMARY KEY (`announcement_id`) ,
INDEX `fk_announcement_account` (`account_id` ASC) ,
UNIQUE INDEX `title_UNIQUE` (`title`(20) ASC) ,
CONSTRAINT `fk_announcement_account`
FOREIGN KEY (`account_id` )
REFERENCES `graduation_project_management`.`account` (`account_id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT)
由于TEXT字段长度很大,所以无法直接用于索引。必须限制其做为索引部分的长度。
REFERENCES `graduation_project_management`.`teacher` ()你连字段都没说明! 是哪个字段参照 `teacher`中的哪个字段?
text字段仅支持前缀索引
`title`(40)
2
语法问题,没有指定外键、及参照表名、字段