Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Индексация текстового столбца


Автор: shtuceron 26.3.2011, 11:13
Добрый день, не пойму в чем моя ошибка

Создаю таблицу и пытаюсь проиндексировать текстовый столбец, однако возникает ошибка...
Код

CREATE  TABLE IF NOT EXISTS `gs`.`ls` (
  `lsid` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `t` TEXT NOT NULL ,
  `d` TEXT NOT NULL ,
  `c` MEDIUMTEXT NOT NULL ,
  PRIMARY KEY (`lsid`),
  KEY `lskeys` (`t(5)`, `d(5)`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;


#1072 - Key column 't(5)' doesn't exist in table

Подскажите в чем проблема, спасибо.

Автор: shtuceron 26.3.2011, 15:00
Проблема решена, вынес ширину строкового поля из под кавычек и все заработало

Код

CREATE  TABLE IF NOT EXISTS `gs`.`ls` (
  `lsid` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `t` TEXT NOT NULL ,
  `d` TEXT NOT NULL ,
  `c` MEDIUMTEXT NOT NULL ,
  PRIMARY KEY (`lsid`),
  KEY `lskeys` (`t`(5), `d`(5)) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)