【发布时间】:2012-09-14 21:34:39
【问题描述】:
我在尝试创建的表上收到以下消息。
所用表类型的最大行大小为 65535,不包括 BLOB。您必须将某些列更改为 TEXT 或 BLOB
请问有人知道答案吗?
-- Table `warrington_central`.`job`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `warrington_central`.`job` (
`id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT ,
`alias_title` VARCHAR(255) NOT NULL ,
`reference_number` VARCHAR(100) NOT NULL ,
`title` VARCHAR(255) NOT NULL ,
`primary_category` SMALLINT(5) UNSIGNED NOT NULL ,
`secondary_category` SMALLINT(5) UNSIGNED NOT NULL ,
`tertiary_category` SMALLINT(5) UNSIGNED NULL ,
`address_id` BIGINT(20) UNSIGNED NOT NULL ,
`geolocation_id` BIGINT(20) UNSIGNED NULL ,
`company` VARCHAR(255) NOT NULL ,
`description` VARCHAR(10000) NOT NULL ,
`skills_required` VARCHAR(10000) NOT NULL ,
`job_type` TINYINT(2) UNSIGNED NOT NULL ,
`experience_months_required` TINYINT(2) UNSIGNED NOT NULL ,
`experience_years_required` TINYINT(2) UNSIGNED NOT NULL ,
`salary_range` VARCHAR(30) NOT NULL ,
`extra_benefits_above_salary` VARCHAR(500) NOT NULL ,
`available_from` DATE NULL ,
`available_to` DATE NULL ,
`extra_location_details` VARCHAR(1000) NOT NULL ,
`contact_email` VARCHAR(100) NOT NULL ,
`contact_phone_number` VARCHAR(20) NOT NULL ,
`contact_mobile_number` VARCHAR(20) NOT NULL ,
`terms_conditions_application` VARCHAR(5000) NOT NULL ,
`link_to_profile` ENUM('0','1') NOT NULL ,
`created_on` DATETIME NOT NULL ,
`updated_on` DATETIME NOT NULL ,
`updated_by` BIGINT(20) UNSIGNED NOT NULL ,
`add_contact_form` ENUM('0','1') NOT NULL ,
`admin_package_id` TINYINT(1) UNSIGNED NOT NULL ,
`package_start_date` DATETIME NOT NULL ,
`package_end_date` DATETIME NULL ,
`package_comment` VARCHAR(500) NOT NULL ,
`viewable_to_members_only` ENUM('0','1') NOT NULL ,
`advertise_to` DATETIME NULL ,
`show_comment` ENUM('0','1') NOT NULL ,
`hits` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0 ,
`visible` ENUM('0','1') NOT NULL DEFAULT '0' ,
`approved` ENUM('I/* large SQL query (3.9 KB), snipped at 2,000 characters */
/* SQL Error (1118): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs */
SHOW WARNINGS;
【问题讨论】:
-
在这种情况下我需要更改哪一列
-
这是不允许的描述 VARCHAR(10000) NOT NULL , Skills_required VARCHAR(10000) NOT NULL ,
-
您需要按照错误消息中的说明进行操作 - 将一些更改为
text数据类型。足够行大小,不包括blob和text类型,不超过65535。你不明白错误信息吗? -
不抱歉 - 哪些列的数据类型不正确
-
它们都没有不正确的数据类型。问题出在 ROW 上,而不是任何一列。行大小是所有列的总和。文档:dev.mysql.com/doc/refman/5.0/en/column-count-limit.html
标签: mysql max multiple-columns create-table