حذف رکورد های تکراری mysql

حذف رکورد های تکراری mysql

سلام. بعضا مشاهده شده است که در جداول mysql رکورد های تکراری وجود دارد. البته تکراری تکراری که نه چون همیشه (اگر شناسه تعریف کرده باشید) شناسه رکورد ها با هم تفاوت دارند. دستور های مختلفی برای حذف رکورد تکراری مشاهده شده اما کاربرد آن ها فقط برای نمایش دادن بوده است. اما کدی که امروز برای شما آماده کرده ایم به شما کمک می کند تا رکورد های تکراری را برای همیشه حذف کنید. به دستور زیر توجه کنید :

$result = mysql_query("select id, email, count(*) from members group by email having count(*) > 1;");
while($row = mysql_fetch_array($result))
    mysql_query("delete from members where email='{$row['email']}' and id <> {$row['id']}");

 این دستور از جدول members تمام رکورد ها با ایمیل یکسان را دریافت می کند. یعنی اینجا حذف بر اساس ایمیل می باشد. سپس مقدار دریافت شده را در یک حلقه قرار می دهد و موارد تکراری را بر اساس تطابق ایمیل و یکسان نبودن آی دی ها حذف می کند. نگران نباشید رکورد اصلی باقی می ماند.

2 thoughts on “حذف رکورد های تکراری mysql

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.