Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление дупликатов
 
 автор: sata   (05.07.2005 в 15:46)   письмо автору
 
 

Есть база с полями id (primary key), number, name.
Поле number имеет уникальный номер. Суть в следующем нужно удалить все дубликаты по этому полю а 1 запись оставить.
Может у кого исходники есть, поделитесь пожалуйста или помощ какую посильную. Спасибо

   
 
 автор: cheops   (05.07.2005 в 17:47)   письмо автору
 
   для: sata   (05.07.2005 в 15:46)
 

Я бы сделал так - сделал выборку по уникальным полям number
SELECT id, number, name FROM tbl GROUP BY number

Поместил бы эту выборку в новую таблицу
CREATE TABLE new_tbl SELECT id, number, name FROM tbl GROUP BY number

Старую бы таблицу уничтожил
DROP TABLE tbl

А новой присвоил бы имя старой таблицы
ALTER TABLE tbl_new RENAME tbl

В результате получается таблица tbl с уникальным номером number

   
 
 автор: sata   (07.07.2005 в 15:58)   письмо автору
 
   для: cheops   (05.07.2005 в 17:47)
 

Спасибо но я раньше так зделал =) Но всё равно спасибо


создание таблицы
mysql_query("INSERT INTO test SELECT * FROM catalog GROUP BY number_lot");
mysql_query("DELETE FROM catalog");
mysql_query("INSERT INTO catalog SELECT * FROM test");
mysql_query("DROP TABLE test");

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования