我想將我的一些數據庫表從拉丁文字符集轉換爲utf-8。很多表得到轉換很好,但一些表返回此錯誤:從拉丁文到UTF-8轉換表,關鍵太大問題
ALTER TABLE XYZ轉換爲CHARACTER SET UTF8; 錯誤1118(42000):行大小過大。對於使用的表型的最大行大小,不包括BLOB,爲65535。你必須改變一些列的文字或BLOB的
是否有變通方法嗎?什麼是最小長度列的大小,我應該在表格中進行轉換而不會出現問題?另外,如何更改我需要更改的列而不破壞表中的數據?
這是順便說一句。
mysql> describe trailheads;
+-----------------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+----------------+------+-----+---------+----------------+
| trailhead_id | int(10) | NO | PRI | NULL | auto_increment |
| trail_id | int(10) | YES | | NULL | |
| park_id | int(10) | YES | | NULL | |
| editor_member_id | int(10) | NO | | NULL | |
| trailhead_name | varchar(1000) | NO | | NULL | |
| trailhead_description | varchar(20000) | YES | | NULL | |
| parking | tinyint(1) | YES | | NULL | |
| parking_spots | int(5) | YES | | NULL | |
| is_free | tinyint(1) | YES | | NULL | |
| cost_details | varchar(5000) | YES | | NULL | |
| lat | float(9,6) | NO | | NULL | |
| lng | float(9,6) | NO | | NULL | |
| bathrooms_nearby | tinyint(1) | YES | | NULL | |
| wheelchair_accessible | tinyint(1) | YES | | NULL | |
| date_added | date | NO | | NULL | |
| last_edit_date | date | YES | | NULL | |
+-----------------------+----------------+------+-----+---------+----------------+
VARCHAR(20000)是我們今天的戰爭和恐怖,用文字的原因,而不是 – Ibu 2011-05-25 07:01:59