Способ удаление дублей в базе данных MySQL

Возникают ситуации в которых в базе данных появляются дубляжи так называемые повторы одних и тех самих данных. Если например не была сделана вовремя проверка на наличие повторов, которые вводит пользователь то запись будет введено дважды. Для удаление этих данных можно выполнить следующие манипуляции запросом SQL

SELECT id FROM table GROUP BY name

Данный запрос позволит выделить ID запросов с уникальными name. Следующая запись уничтожить дубляжи - повторы

DELETE FROM table WHERE id NOT IN (SELECT id FROM table GROUP BY name)

Или для более быстрой обработки

$r=mysql_query("SELECT id FROM table GROUP BY name");
$size=mysql_num_rows($r);
$sqlarray=array();
for($i=0;$i<$size;$i++){
$f=mysql_fetch_array($r);
array_push($sqlarray,$f[id]);
}
$sql=implode(',',$sqlarray);$r=mysql_query("DELETE from table where id not in (".$sql.")")or die (mysql_error());

Данный скрипт гарантирует, что данные даже при повторном запуске не удалятся

Webmarker logo small
Украина, Киев