صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 28

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

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

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



    السلام عليكم

    اخواني

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







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    وعليكم السلام ورحمة الله وبركاته

    لا اعتقد يوجد استعلام واحد لحذف الصفوف المكررة
    لكن يمكنك استخدام الكود التالي:
    كود PHP:
    $results = @mysql_query("SELECT DISTINCT `fieldname` FROM `tablename`");
    $del = @mysql_query("DELETE FROM `tablename`");
    while(
    $result = @mysql_fetch_array($results))
    {
    $insert_query = @mysql_query("INSERT INTO `tablename` (`fieldname`) VALUES ('$result[fieldname]')");

    مع ملاحظة:
    خذ backup من الجدول قبل البدء تجنبا لاي مشاكل
    استبدال fieldname باسم الحقل
    استبدال tablename باسم الجدول





    __________________
    مدونتي

  3. #3
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    ماذا عن هذه الحل , لم اجربه لكن منطقيا يعمل
    كود:
    DELETE FROM `tablename` WHERE `fieldname`  NOT IN (SELECT DISTINCT `fieldname` FROM `tablename`);






    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    اقتباس المشاركة الأصلية كتبت بواسطة daif
    ماذا عن هذه الحل , لم اجربه لكن منطقيا يعمل
    كود:
    DELETE FROM `tablename` WHERE `fieldname`  NOT IN (SELECT DISTINCT `fieldname` FROM `tablename`);
    الأخ المشرف العزيز لما شفت ردك صراحة انبهرت للطريقة
    لكنها للأسف لا تعمل

    شكرا لك





    __________________
    مدونتي

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    حسب تخيلي in يجب أن يأتي بعدها (value1, value2) .. اذا كان الاستعلام الثاني لا يعود بهذه النتيجة فأعتقد أنها لن تعمل .. هذه من ناحية منطقية لا أكثر ...!!






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


    جربت الكودين ولا ضبطت

    نرجو المساعده






  7. #7


    اخي الكريم
    جرب هذا الكود ورد على
    كود PHP:
    <?
    include("config.php");
    $delete=addslashes($_GET['delete']);
    $natija=mysql_query("select  * from dalil where name='$delete'");
    $natijaa=mysql_query("select  * from dalil");
    $num=mysql_num_rows($natija);
    if(empty(
    $delete)){
    while(
    $row=mysql_fetch_array($natijaa)){
    @
    extract($row);
    echo
    $num2."<a href='".$_SERVER['PHP_SELF']."/delete.php?delete=".$name."'>".$name."</a><br>";
    }
    exit;
    }
    $fetch=mysql_fetch_array($natija);
    @
    extract($fetch);
    if(
    $num==0){ //if($num==0){
    exit("عفوا  لاوجد اي تكرار ");
    //if($num==0){
    if($num>2){ //if($num>1){
    $deleted=@mysql_query("delete from dalil where name='$delete'");
    if(
    $deleted){ //if($deleted){
    echo "<b><font color=red>".$delete."</font></b>تم مسح جميع الأمساء المكررة من ";
    }
    else
    {
    echo 
    "ERROR";
    //if($deleted){
    }
    else
    {
    echo 
    "عفوا هذا الاسم لا يوجد فيه اي تكرار";
    //if($num>1){
    $insert=mysql_query("insert into dalil (name) values ('$name')");

    ?>
    قم بتغيير التالي
    dalil الى اسم الجدول لديك
    name الى اسم الحقل المراد التأكد من خلو التكرار
    السطر الأخير يمكنك التعديل عليه حسب عدد الحقول لديك

    يمكنك تجربته من هنا وستجد الأسماء المكررة هي swalif
    واخيرا هذا الكود كتبته على عجل ويحتاج الى تطوير





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

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


    ولا كود ضبط

    ممكن احد يفيدنا ؟؟؟






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


    للرفع

    يمكن احد يفيدنا

    :eek3:






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


    كود:
    CREATE TEMPORARY TABLE IF NOT EXISTS my_temp AS SELECT DISTINCT name FROM cars;
    Delete From cars;
    Insert Into cars(name) Select name From my_temp;
    Drop Table IF EXISTS my_temp;
    الحقل name هو الحقل اللي مانبيه يتكرر
    my_temp = اي اسم
    cars = اسم الجدول





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

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

  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    أعتذر للأستاذ ضيف طريقته فعلاً تعمل منطقياً ..

    جزيت خيراً أخ فلاشر .. ماذا عن :
    كود:
    delete from table where (rowid, field) not in (select min(rowid), field from table group by field);
    ؟؟

    بحيث table هو الجدول ، و field هو الحقل!

    تحياتي،






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


    هلا اشرف ،
    الصراحه توي جاي من اختبار الرياضيات مخي خارج الخدمة حاليا
    من نظرة اولى اشوفها صحيحه جدا لكن طبقتها وطلع عندي خطأ، راح اشوفها لاحقا ان شاء الله ...
    تحياتي،





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

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

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


    السلام عليكم،
    بالنسبة للكود لوكان
    كود:
    select * from table where (rowid, field) not in (select min(rowid), field from table group by field);
    فهنا بيعطيك السجلات المكررة كلها

    لكن اذا جيت تستخدم update او delete ماراح تقدر تستعمل سيليكت كويري من نفس الجدول

    عموما المسألة قابله للنقاش

    تحياتي





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

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

  14. #14
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    168


    السلام عليكم

    كلام الأخ ضيف سليم و هته العملية إسمها requête imbriqué و هي صحيحة و سليمة 100%

    تحياتي
    احمد صقر





    __________________
    www.sakr4host.com

    0021371136760

    برمجة و تصميم على كيف كيفك

    صقرفور هوست خدمات تفوق التطلعات

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


    ممكن مثال عملي اخوي ؟؟










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

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

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