اذهب إلى المحتوى

السؤال

نشر

لقد بدء متابعة دورة عبارة عن مقالة في موقع اكادمية حساوب وصلة الى المقالة عنوانها كيفية تعامل مع قواعد البيانات sqlite3 في تطبيق flask 

رابط =>

 

في خطوة مني  لتشغيل الخادم بعد تمرير الكود المسؤل عن انشاء جدول المسمى  تظهرلي رسالة التالية  

sqlite3.OperationalError: no such table: posts

شكراا

 

Recommended Posts

  • 1
نشر

رسالة الخطأ "sqlite3.OperationalError: no such table: posts" تعني أن الجدول الذي تحاول الوصول إليه "posts" غير موجود في قاعدة البيانات الخاصة بك.

عليك بالتأكد من الخطوات التي قمت بها حتى الآن:

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

والأمر الذي يجب تنفيذه لإنشاء الجدول في قاعدة البيانات هو استخدام الأمر CREATE TABLE في SQL، وطالما أنك تستخدم Flask و SQLite3، تستطيع استخدام الكود التالي لإنشاء الجدول:

import sqlite3

# اتصال بقاعدة البيانات
conn = sqlite3.connect('اسم_قاعدة_البيانات.db')
c = conn.cursor()

# إنشاء الجدول
c.execute('''
    CREATE TABLE IF NOT EXISTS posts (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        title TEXT NOT NULL,
        content TEXT
    )
''')

# حفظ التغييرات وإغلاق الاتصال بقاعدة البيانات
conn.commit()
conn.close()

 استبدل 'اسم_قاعدة_البيانات.db' باسم قاعدة البيانات الفعلي التي ترغب في استخدامها، و الكود ينشئ جدولًا بعناصر id، title، و content، حيث يتم تحديد id كمفتاح أساسي و title كعمود نصي إلزامي.

  • بعد ذلك تحقق من أن اسم الجدول المستخدم في الاستعلام الذي يثير الخطأ هو "posts" بالضبط، وأنه مطابق تمامًا للاسم المستخدم في كود إنشاء الجدول.
  • تأكد من أن قاعدة البيانات التي تستخدمها في تطبيق Flask هي نفسها قاعدة البيانات التي تم إنشاء الجدول فيها، فقد تكون قد قمت بإنشاء جدول في قاعدة بيانات مختلفة أو أنه تم حذف الجدول عن طريق الخطأ.
  • إذا كنت تستخدم برامج لإدارة قاعدة البيانات والتي أنصخك باستخدامها مثل SQLite Browser أو phpMyAdmin، قم بفحص قاعدة البيانات للتأكد من وجود الجدول "posts" فيها.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...