تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#1 (permalink)  
كيف : حقل من نوع 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 ::
:: حلول التصميم ::
Smart Solutions غير متواجد حالياً   قديم 23-01-2005, 09:53 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2003-
#2 (permalink)  

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

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






__________________
قال عليه الصلاة والسلام:"ليس منا من دعا إلى عصبية وليس منا من قاتل على عصبية وليس منا من مات على عصبية"

# مشاريع:
- الفوائد .. خلاصة العلم والمعرفة

العمل بصمت - nawaf.hareeri.net
العملاق غير متواجد حالياً   قديم 24-01-2005, 08:01 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#3 (permalink)  

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

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

PRIMARY KEY ( `link` ) ,

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


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

تحياتي






__________________
:: Design Solutions ::
:: حلول التصميم ::
Smart Solutions غير متواجد حالياً   قديم 24-01-2005, 10:37 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2003-
#4 (permalink)  

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

والله أعلم






__________________
قال عليه الصلاة والسلام:"ليس منا من دعا إلى عصبية وليس منا من قاتل على عصبية وليس منا من مات على عصبية"

# مشاريع:
- الفوائد .. خلاصة العلم والمعرفة

العمل بصمت - nawaf.hareeri.net
العملاق غير متواجد حالياً   قديم 24-01-2005, 05:46 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#5 (permalink)  

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






__________________
شبكة مملكة العرب
---------------------
استضافة مواقع تبدأ من 100 ريال سنويا
خطط خاصة للموزعين
سكربت دليل المواقع
www.aknet.com
code4arab غير متواجد حالياً   قديم 25-01-2005, 12:29 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#6 (permalink)  

أخي العزيز code4arab

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

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

تحياتي






__________________
:: Design Solutions ::
:: حلول التصميم ::
Smart Solutions غير متواجد حالياً   قديم 25-01-2005, 10:09 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#7 (permalink)  

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

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

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

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






__________________
شبكة مملكة العرب
---------------------
استضافة مواقع تبدأ من 100 ريال سنويا
خطط خاصة للموزعين
سكربت دليل المواقع
www.aknet.com
code4arab غير متواجد حالياً   قديم 26-01-2005, 12:17 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Mar 2003-
#8 (permalink)  

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


=========

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

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

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






__________________
دكتور لا
Dr.no غير متواجد حالياً   قديم 26-01-2005, 04:41 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#9 (permalink)  

السلام عليكم

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

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

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






__________________
:: Design Solutions ::
:: حلول التصميم ::
Smart Solutions غير متواجد حالياً   قديم 26-01-2005, 05:02 PM
رد مع اقتباس
رد


 

أدوات الموضوع

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 07:10 AM بتوقيت المملكة العربية السعودية