mysql – 使用的表类型的最大行大小(不计算BLOB)是65535.您必须将某些列更改为TEXT或BLOB

我正在尝试创建的表上收到以下消息.

The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

有人知道答案吗?

-- 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;
最佳答案
将描述和技能更改为类型文本

您收到该消息是因为所有字段的总和是> 65K

转载注明原文:mysql – 使用的表类型的最大行大小(不计算BLOB)是65535.您必须将某些列更改为TEXT或BLOB - 代码日志