SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.01.2011 12:37:51

qazwsx100
Участник
Зарегистрирован: 06.09.2010
Сообщений: 8

Удаление дублирующихся строк Mysql

У меня есть табличка :
CREATE TABLE `SALES` (
  `ID` int(11) NOT NULL auto_increment,
  `PHONE` char(10) default NULL,
  `VIN` char(20) default NULL,
  `GOD` char(10) default NULL,
  `FIO` char(110) default NULL,
  `ADRESS` text,
  `FDOC` char(50) default NULL,
  `OPR` varchar(100) default NULL,
  `DATEO` char(10) default NULL,
  PRIMARY KEY  (`ID`),
  KEY `vin_ind` (`VIN`),
  KEY `phone_ind` (`PHONE`),
   FULLTEXT KEY `FIO` (`FIO`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10832764 ;

Мне необходимо удалить запсиси(дубликаты) имеющие одинаковые значения по 3-м полям: PHONE, VIN, FIO.
Для чего я выполняю запрос: ALTER IGNORE TABLE  SALES ADD UNIQUE INDEX(PHONE, VIN, FIO);
Появляется уникальный индекс по 3-м полям, но строки не удаляются.
Помогите понять, что не так я делаю или может быть есть какой нибудь другой способ? база огромная весит 5gb все это мне нужно что б уменьшить её размер.

Неактивен

 

#2 06.01.2011 17:31:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Удаление дублирующихся строк Mysql

Можете привести пример данных, которые есть в таблице, и которые
после выполнения команды не удалились?

Неактивен

 

#3 07.01.2011 12:46:43

qazwsx100
Участник
Зарегистрирован: 06.09.2010
Сообщений: 8

Re: Удаление дублирующихся строк Mysql

Сам разобрался, просто сделал новую табличку с уникальным ключом по трем полям и перенес туда данные с помощью insert ignore...select

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson