البرمجة

حل مشكلة SQL Error(1166) في Yii و HeidiSQL

في البداية، يجدر بنا التفحص بعناية نص الأمر الذي قمت بكتابته لإنشاء الجدول في قاعدة البيانات باستخدام HeidiSQL. يظهر أن هناك خطأ في كتابة اسم العمود id. الأمر الصحيح يجب أن يكون بدون مسافات زائدة قبل أو بعد اسم العمود.

إليك نسخة من الأمر بتصحيح الأخطاء:

sql
CREATE TABLE `users` ( `id` INT(45) NULL, `username` VARCHAR(50) NULL, `pwd_hash` VARCHAR(50) NULL, `fname` VARCHAR(50) NULL, `lname` VARCHAR(50) NULL, `email` VARCHAR(50) NULL, `country` VARCHAR(50) NULL, `address` VARCHAR(50) NULL, `gender` VARCHAR(50) NULL, PRIMARY KEY (`id`), UNIQUE KEY `UIQUE_KEY` (`username`) ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB;

قمت بتصحيح اسم العمود id وازلت المسافة الزائدة التي كانت بعد اسم العمود وقبل نوع البيانات. أيضا، قمت بتصحيح اسم المفتاح الفريد UIQUE_KEY، حيث يجب أن يكون UNIQUE KEY بدلاً من ذلك.

الآن، بعد تصحيح هذا الأمر، يجب أن تكون قادرًا على إنشاء الجدول بنجاح. يُفضل دائمًا التحقق بعناية من بنية الجدول والتأكد من صحة الأوامر قبل تنفيذها.

المزيد من المعلومات

بالطبع، دعنا نوسع على المعلومات المقدمة حول خطأ SQL الذي واجهته أثناء محاولة إنشاء جدول في قاعدة البيانات باستخدام Yii و HeidiSQL.

في هذا السياق، يظهر أن الخطأ المتمثل في “SQL Error(1166): Incorrect column name ‘id'” ناجم عن وجود فراغ زائد في اسم العمود id داخل الأمر الذي قمت بكتابته. يُشير هذا النوع من الأخطاء إلى أهمية دقة الكتابة وتنسيق الأوامر SQL.

لتفادي مشاكل مستقبلية، يفضل استخدام تسميات الأعمدة بدون فراغات أو أحرف زائدة، ويمكن استخدام الشرطة السفلية (_) أو التعريف بالتايب Camel Case لتسميات الأعمدة.

على سبيل المثال:

sql
CREATE TABLE `users` ( `user_id` INT(45) NULL, `username` VARCHAR(50) NULL, `pwd_hash` VARCHAR(50) NULL, `first_name` VARCHAR(50) NULL, `last_name` VARCHAR(50) NULL, `email` VARCHAR(50) NULL, `country` VARCHAR(50) NULL, `address` VARCHAR(50) NULL, `gender` VARCHAR(50) NULL, PRIMARY KEY (`user_id`), UNIQUE KEY `UNIQUE_KEY` (`username`) ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB;

هذا التعديل يجعل اسم العمود id أكثر دقة وتفاديًا للأخطاء المحتملة.

علاوة على ذلك، يُفضل أيضًا استخدام الفهرس (INDEX) لتحسين أداء البحث، ويمكن تعيين حجم محدد للحقول باستخدام (50) بناءً على حجم البيانات المتوقع استخدامها.

من الجيد أنك تقوم بالتعلم واكتساب المهارات في Yii و HeidiSQL، ونتمنى لك التوفيق في رحلتك التعلمية. في حال وجود أي استفسارات إضافية أو معلومات تحتاجها، فلا تتردد في طرحها.

زر الذهاب إلى الأعلى