在修复错误1253 (MySQL: Unable to fulling forward engineering Sakila (sample) into server)后,我有错误1628。
在服务器中执行SQL脚本
错误:错误1628:表“customer”的注释太长(max = 60)
剧本:
CREATE TABLE IF NOT EXISTS `sakila`.`customer` (
`customer_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT ,
`store_id` TINYINT(3) UNSIGNED NOT NULL ,
`first_name` VARCHAR(45) NOT NULL ,
`last_name` VARCHAR(45) NOT NULL ,
`email` VARCHAR(50) NULL DEFAULT NULL ,
`address_id` SMALLINT(5) UNSIGNED NOT NULL ,
`active` TINYINT(1) NOT NULL DEFAULT TRUE ,
`create_date` DATETIME NOT NULL ,
`last_update` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY (`customer_id`) ,
INDEX `idx_fk_store_id` (`store_id` ASC) ,
INDEX `idx_fk_address_id` (`address_id` ASC) ,
INDEX `idx_last_name` (`last_name` ASC) ,
CONSTRAINT `fk_customer_address`
FOREIGN KEY (`address_id` )
REFERENCES `sakila`.`address` (`address_id` )
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `fk_customer_store`
FOREIGN KEY (`store_id` )
REFERENCES `sakila`.`store` (`store_id` )
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8'Table存储所有客户。保存地址表和注册此客户的存储表的外键。\n\n关于客户姓名的基本信息存储在表本身中。创建记录的日期和上次更新信息的日期相同。
SQL脚本执行完成:语句:3成功,1失败
发布于 2010-08-26 00:45:42
正如MySQL文档中所述,注释仅限于255个字符:http://dev.mysql.com/doc/refman/5.1/en/create-table.html#id3411882。您的注释是305个字符,从错误消息来看,您的特定MySQL安装似乎有60个字符限制。
发布于 2013-01-24 13:44:44
作为补充:更多的当前版本(5.6.X)允许更长的注释。不幸的是,这个长度与评论的类型不同:
对于tables:“表的注释,长达2048个字符。”
对于columns:“可以使用注释选项指定列的注释,最长可达1024个字符。”
对于INDEX:“在MySQL 5.6中,索引定义可以包含最多1024个字符的可选注释。”
对于PARTITION:“从MySQL 5.6.6开始,分区注释的最大长度为1024个字符(以前没有明确定义此限制)。”
来源:http://dev.mysql.com/doc/refman/5.6/en/create-table.html
https://stackoverflow.com/questions/3571254
复制相似问题