النتائج 1 إلى 9 من 9

الموضوع: كيف : حقل من نوع Text يكون Primary Key

  1. #1

    كيف : حقل من نوع Text يكون Primary Key



    السلام عليكم جميعا

    اليوم حاولت انشى جدول في قاعدة البيانات بإستخدام phpMyAdmin ، الجدول يتكون من حقلين :


    link : حقل نصي يتجاوز طوله الـ 255 و هو المفتاح الأساسي Primary Key

    path : حقل نصي لا يتجاوز طوله الـ 255 و ليس مفتاح اساسي

    المشكلة تكمن في link ، فلا يمكنني ان انشى هذا الحقل بإستخدام VarCHAR أو CHAR، لأن اقصى طول لهذا النوعية هو 255 ، و هذا لا ينفع ، لذا حاولت استخدام TEXT او TINYTEXT او BLOB او TINYBLOB او اي نوعية من نوعيات النصوص ، ولكن واجهتني هذه المشكلة :


    1- عند عدم تحديد طول لهذا الحقل تظهر لي هذه الرسالة :

    BLOB column 'link' used in key specification without a key length

    و شيفر الـ SQL تكون بهذا الشكل :

    كود:
    CREATE TABLE `cat2` (
    
    `link` TEXT NOT NULL ,
    `path` VARCHAR( 200 ) NOT NULL ,
    PRIMARY KEY ( `link` ) 
    )


    2- اما عند تحديد طول لهذا الحقل فإن رسالة الخطأ هي :

    #1064 - You have an error in your SQL syntax near '(500) NOT NULL, `path` VARCHAR(200) NOT NULL, PRIMARY KEY (`link`))' at line 1


    و شيفرة الـ SQL هي

    كود:
    
    CREATE TABLE `cat2` (
    
    `link` TEXT( 500 ) NOT NULL ,
    `path` VARCHAR( 200 ) NOT NULL ,
    PRIMARY KEY ( `link` ) 
    )

    الصراحه احترت ، اذا ما حددت طول قال حدد طول ، و اذا حددت قال Syntax Error !!!

    علما اني جربت اخلي الحقل FULLTEXT و برضه نفسي الشي !!!

    ايش الحل ؟؟





    __________________
    :: Design Solutions ::
    :: حلول التصميم ::


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    أخي .. النوع TEXT ماله طول محدد وإذا أردت فهرسته استخدم FULLTEXT KEY

    كود:
    CREATE TABLE `cat2` (
    `link` TEXT NOT NULL ,
    `path` VARCHAR( 200 ) NOT NULL ,
    FULLTEXT KEY ( `link` ) 
    )
    جرب وان شاء الله يمشي معاك !





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  3. #3


    أخي العزيز العملاق

    الشيفرة التي وضعتها تعمل ، ولكنها لا تجعل link مفتاح اساسي Primary Key ، جرب ان تضيف

    PRIMARY KEY ( `link` ) ,

    و أنظر الى النتيجة !!!


    انا ابحث عن طريقه اجعل بها هذا الحقل من نوع TEXT مفتاح أساسي Primary Key

    تحياتي





    __________________
    :: Design Solutions ::
    :: حلول التصميم ::

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    أعتقد يا أخي أن النوع TEXT لا يمكن يتفهرس كفهرس أساسي Primary , لكن يمكنك أن تفهرس كامل محتواه لتسريع عملية البحث بالطريقة السابقة اللي ذكرتها .

    والله أعلم





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  5. #5
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,454


    انا رأيت اجابة سؤال احدهم عن سبب وضع حقل من نوع Text كحقل اساسي وكانت إجابتك ان بعض الروابط تكون اكثر من 255 حرف ... لا اعتقد انه يوجد رابط اكثر من ذلك





    __________________
    شبكة مملكة العرب
    ---------------------
    استضافة مواقع تبدأ من 100 ريال سنويا
    خطط خاصة للموزعين
    سكربت دليل المواقع
    www.aknet.com

  6. #6


    أخي العزيز code4arab

    المشكلة اني جالس اصمم حاليا Search Engine متكامل ( يعني Spider و Indexer ... ) ، ولازم اخذ كل شئ بعين الإعتبار

    ما وجدت معلومة مثبته ان الإرتباطات ما تزيد عن 255 ، اتوقع انه ممكن جدا تحصل رابط اطول من 255 حرف !

    تحياتي





    __________________
    :: Design Solutions ::
    :: حلول التصميم ::

  7. #7
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,454


    اقتباس المشاركة الأصلية كتبت بواسطة Smart Solutions
    أخي العزيز code4arab

    المشكلة اني جالس اصمم حاليا Search Engine متكامل ( يعني Spider و Indexer ... ) ، ولازم اخذ كل شئ بعين الإعتبار

    ما وجدت معلومة مثبته ان الإرتباطات ما تزيد عن 255 ، اتوقع انه ممكن جدا تحصل رابط اطول من 255 حرف !

    تحياتي
    للمعلومية فقط الحد الأقصى لعدد أحرف اي نطاق في العالم هو 63 حرف





    __________________
    شبكة مملكة العرب
    ---------------------
    استضافة مواقع تبدأ من 100 ريال سنويا
    خطط خاصة للموزعين
    سكربت دليل المواقع
    www.aknet.com

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


    للمعلومية فقط الحد الأقصى لعدد أحرف اي نطاق في العالم هو 63 حرف
    شكراً على المعلومة ..


    =========

    http://www.873JHF874YRH3487H16JHFSJD...Q64ET78346.COM

    هذه وصلة ( أي كلام من عندي ) ستجد طولها 102 حرف و لا يمكن أن يكون أطول من 255 كما ذكر الأخ code4arab

    و السلام عليكم
    Dr.no





    __________________
    دكتور لا

  9. #9


    السلام عليكم

    اوكي الدومين قد لا يتجاوز 63 حرف ، لكن اللينك بشكل كامل ؟؟

    للتو قرأت في موقع مايكروسوفت ان اطول Path مسموح فيه هو 256 حرف ، فتخيل لو ان هناك موقع طول دومينه 20 حرف ، و هناك ملف مخزن في مجلد في هذا الموقع و طول مسار هذا المجلد هو 250 حرف ،، يعني المجموع راح يصير 270 حرف على الأقل

    يعني فيه احتمال انه الطول يتجاوز الـ 255 حرف





    __________________
    :: Design Solutions ::
    :: حلول التصميم ::





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

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

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