صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 28 من 28

الموضوع: كيف احذف الحقول المكرره من قاعدة البيانات

  1. #16
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    كود PHP:
     select from table where (rowidfieldnot in (select min(rowid), field from table group by field); 
    اعتقد انه لا يمكنك استخدام count, min, max, avg مع اي حقول أخرى .. اي انها تكون النتيجة الوحيدة للاستعلام ..


    ولا ادري ان كانت ال agreggation queries متاحة لل delete و update ام لا ..

    موضوع اكثر من رائع !





    __________________
    SWF Thumbnail - tweet me

  2. #17
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    111


    للرفع






  3. #18
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    طيب ماجريت الموجود هنا http://www.swalif.net/softs/19113.html
    طبعا هذا تحطه في PHPMyAdmin لو تبيه بال PHP لازم تجزأ كل أمر في كويري خاص به
    كود PHP:
    $sql "sql here.....";
    $sql explode(';',$sql);
    foreach(
    $sql as $s)
       
    mysql_query($s); 






    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  4. #19
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    أنا سأفترض انك تريد حذف البيانات التي يتكرر فيها قيمة معينة في احد الحقول ...

    في البداية يجب تحديد الحقل الذي يجب التحقق من تكرار قيمته وسأرمز له باسم
    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 في الاستعلام الأول.


    طبعا لا تنسى العمل على نسخة احتياطية من قاعدة البيانات اولا قبل التطبيق المباشر على قاعدة بياناتك الأساسية..

    اذا كانت قاعدة البيانات لديك كبيرة جدا او تريد خيارات تحقق أكثر تعقيدا اظن أنك ستحتاج إلى طرح مزيد من المعلومات هنا حتى يتمكن الجميع من مساعدتك

    تقبل مني ارق تحية





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  5. #20
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    طريقة الأخ القائد ممتازة ما شاء الله ..

    انك تقوم باخذ جميع البيانات .. معالجتها على شكل مصفوفات ..

    تاخد كل الايديهات المكررة ..

    وبعدين تحطها في استعلام واحد للحذف في IN وانتهى الموضوع ..

    جربها





    __________________
    SWF Thumbnail - tweet me

  6. #21
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    ممتاز كانت الفكرة الأولى في ذهني في أول مرة دخلت الموضوع .. لكن بعد أن رأيت أوائل الردود من كبار المنتدى قلت خلص نكمل معاهم ونكتب استعلامات .. وللأسف كانت استعلاماتي أفشل الاستعلامات .. والحمدلله جاءت الفكرة السليمة

    مع العلم الكثير من الحلول في الألعى صحيحة .. من جهتي ، أعتبر هذا الموضوع غني جداً بالمعلومات ..

    تحياتي، أشرف السمهوري






  7. #22
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    111


    مشكور اخي القائد

    بصراحة ماضبطت الطريقة مادري وش المشكلة

    عموماً لدي التالي :

    جدول اسمه mem
    توجد فيه حقلين
    email
    user
    ابي البرنامج يشيك اذا البريد مسجل اكثر من مره يحذف السجل كامل بغض النظر عن اليوزر يعني حتى لو كان البريد مسجل لاكثر من يوزر يحذفها كلها ويبقي واحد






  8. #23
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    اولا ما عدد السجلات الموجودة بهذا الجدول??

    وايضا هل يوجد عندك حقل id???





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  9. #24
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    111


    مشكور على سرعة الرد اخوي

    عدد السجلات اكثر من 20 الف ولا يوجد حقل id






  10. #25
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    طيب اخي الكريم ..

    ياريت تضع لنا بنية الجدول حتى نتمكن نساعدك





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  11. #26
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    111


    تفضل اخوي

    CREATE TABLE mem (
    email varchar(64) NOT NULL default ''
    user varchar(64) NOT NULL default ''
    ) TYPE=MyISAM;






  12. #27
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    بما ان لديك قاعدة بيانات كبيرة الحجم ..

    جرب تنفيذ الكود التالي من خلال phpmyadmin

    كود PHP:
    CREATE TABLE mem1 (
    email varchar(64NOT NULL default ''
    user varchar(64NOT NULL default ''
    TYPE=MyISAM; ;

    INSERT INTO `dbname`.`mem1`
    SELECT DISTINCT *
    FROM `dbname`.`mem` ; 
    طبعا مع استبدال dbname باسم قاعدة البيانات لديك

    هذا الاستعلام سيقوم بانشاء جدول جديد في قاعدة البيانات وسيضع فيه السجلات غير المكررة فقط

    الجدول الجديد سيكون اسمه mem1


    جرب واعلمني بالنتيجة





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  13. #28
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    111


    MySQL قال:


    Query was empty
    حصل هذا الخطأ

    اخوي مافي طريقة بالبي اتش بي لاني راح احذف المكرر باستمرار بدل الطريقة اليدويه










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض