0
有沒有辦法我可以修改列名稱到文本數據類型沒有刪除列上的索引。 或任何MySQL的可變指定默認keylength時,有一個文本列索引而改變列的數據類型。如何改變一個索引的VARCHAR(100),而不刪除索引的文本?
mysql> show create table emp1;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| emp1 | CREATE TABLE `emp1` (
`name` varchar(100) DEFAULT NULL,
`id` varchar(10) DEFAULT NULL,
`date` date DEFAULT NULL,
KEY `index1` (`name`),
KEY `index2` (`id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>
mysql>
mysql>
mysql>
mysql>
mysql> alter table emp1 modify column name text;
ERROR 1170 (42000): BLOB/TEXT column 'name' used in key specification without a key length