
05.02.2010, 19:26
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
Вопрос по MySQL. Есть таблица orders такого вида
Код:
CREATE TABLE `orders` (
`order_id` int(10) NOT NULL auto_increment,
`order_total` float NOT NULL default '0',
`order_date` datetime default '0000-00-00 00:00:00',
`date_accepted` datetime NOT NULL,
`date_rejected` datetime NOT NULL,
`ship_date` datetime NOT NULL,
`ship_method` varchar(45) NOT NULL default 'FEDEX2DAY',
`sat_deliv` varchar(3) default 'no',
`customer_id` int(11) NOT NULL default '0',
`status` int(11) NOT NULL default '0',
`p` tinyint(1) NOT NULL default '0',
`phys_id` int(11) NOT NULL default '0',
`shipping` float NOT NULL default '0',
`payment_type` varchar(50) NOT NULL,
`trans_id` varchar(200) NOT NULL,
`p_id` int(11) NOT NULL default '1',
`notes` text NOT NULL,
`session_data` longtext NOT NULL,
PRIMARY KEY (`order_id`),
UNIQUE KEY `order_id` (`order_id`),
KEY `order_date` (`order_date`),
KEY `customer_id` (`customer_id`),
KEY `ship_date` (`ship_date`),
KEY `Index_5` (`status`),
KEY `Index_6` (`p`),
KEY `phys_id` (`phys_id`),
KEY `order_date_2` (`order_date`)
) ENGINE=InnoDB AUTO_INCREMENT=62489 DEFAULT CHARSET=latin1 PACK_KEYS=0 COMMENT='InnoDB free: 37888 kB'
Задача: Изменить тип поля order_id с INT на VARCHAR( либо TEXT или BLOB). Собственно в чем проблема
alter table orders modify order_id varchar(100)
Error: Error on rename of './db_name/#sql-45fd_8573d7' to './db_name/orders' (errno: 150)
alter table orders modify order_id text
Error: BLOB/TEXT column 'order_id' used in key specification without a key length
Подскажите как все таки поменять тип у поля
|
|
|