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