2012-09-22 33 views
6

我正在嘗試創建的表上收到以下消息。已用表類型(不計算BLOB)的最大行大小爲65535.您必須將某些列更改爲TEXT或BLOB

的最大行大小爲使用的表型,不包括BLOB,爲65535。你必須改變一些列的文字或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; 
+0

我需要在這種情況下 –

+0

改變其列這是不允許的描述VARCHAR(10000)NOT NULL, skills_required VARCHAR(10000)NOT NULL, –

+0

您需要像錯誤消息所述 - 將某些更改爲'text'數據類型。足夠的行大小,不包括'blob'和'text'類型,不超過65535.你不明白錯誤信息嗎? – tenfour

回答

9

變化descriptionskills_required爲類型text

您獲得的消息,因爲所有字段的總和是> 65000

+1

因此,行和列的所有列都有限制 –

相關問題