أنا سأفترض انك تريد حذف البيانات التي يتكرر فيها قيمة معينة في احد الحقول ...
في البداية يجب تحديد الحقل الذي يجب التحقق من تكرار قيمته وسأرمز له باسم
field
والحقل الخاص برقم السجل
id
واسم الجدول
table
جرب الكود التالي
كود PHP:
// Arrays
$comarray = array();
$delarray = array();
// Main query
$sql = mysql_query("SELECT id,field FROM table ORDER BY id ASC");
while($r=mysql_fetch_array($sql))
{
if(in_array($r['field'], $comarray))
{
$delarray[] = $r['id'];
}
else
{
$comarray[] = $r['field'];
}
}
$delcom = join(",", $delarray);
$delsql=mysql_query("DELETE FROM table WHERE id IN($delcom) ");
printf("Records deleted: %d\n", mysql_affected_rows());
طبعا هذا الكود سيقوم بالاحتفاظ بأول سجل تم ادخاله إلى القاعدة ومسح السجلات المكررة التي تم اضافتها فيما بعد
اذا اردت الاحتفاظ بآخر سجل ومسح المتكرر الذي تم اضافته سابقا فقط قم بتغيير ASC إلى DESC في الاستعلام الأول.
طبعا لا تنسى العمل على نسخة احتياطية من قاعدة البيانات اولا قبل التطبيق المباشر على قاعدة بياناتك الأساسية..
اذا كانت قاعدة البيانات لديك كبيرة جدا او تريد خيارات تحقق أكثر تعقيدا اظن أنك ستحتاج إلى طرح مزيد من المعلومات هنا حتى يتمكن الجميع من مساعدتك
تقبل مني ارق تحية