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

كيف أحدث بيانات على rails وَ postgreSQL باستعمال Primary Key موجود مسبقاً؟

Badraoui

السؤال

أردت تحديث بعض البيانات على Rails وَ postgreSQL بالإعتماد على Id، حيث بنية الجدول:

Lecture(id, name, etc.)

كمثال على البيانات:

(id: 1, name: "first")

وعند استعمال:

Lecture.create(id: 1, name: "newer")

أحصل على الخطأ التالي:

PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "lectures_pkey"

كيف أتجاوز هذا الخطأ؟

تم التعديل في بواسطة Badraoui
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 2

من خلال الخطأ الظاهر على إطار العمل Rails:

PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "lectures_pkey"

مما يعني أنّ:

Id هو القيمة الافتراضية لـ Primary Key، أي أنه لا يمكن تغييره أو تكرار قيمته، لأنك وببساطة أضفت قيمة على الجدول تحتوي id سبق وتم إدخاله، مما أدى إلى رفع خطأ وإظهار الرسالة السابقة.

لتفادي ذلك، وتغيير قيمة name الخاصة بـ lecteur.id=1 مثلاً، نستعمل الطريقة التالية:

@lecture = Lecture.find(1)
@lecture.update_attributes(name: "newer")

حيث قمنا بالبحث على السطر المراد تغييره على قاعدة البيانات من خلال استخدام الوظيفة find ثم تغيير الحقل name.

ملاحظة هامة: يعتبر id هو الحقل المعرّف للبيانات الموجودة على القاعدة، ويمنع تغيير أو تكراره حتى تبقى البيانات صالحة منطقيا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...