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

كيف أضيف حقل في جدول يساوي Primary Key؟

سعيد بو عبد الله

السؤال

لدي جدول على Mysql وبه Primary Key، وأريد إضافة حقل بحث يكون مساوي لقيمPrimary Key، وبالفعل أضفت حقل سيمته بـ originalid ، ثم الأمر:

UPDATE notes SET originalid = (SELECT MAX(id) FROM notes) where id = (SELECT MAX(id) FROM notes);

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


    You can't specify target table 'notes' for update in FROM clause

فهل من حل للمشكل؟

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

Recommended Posts

  • 0

هناك طريقتين اثنتين:

الأولى باستخراج أكبر قيمة لـ id ، وذلك بترتيب قيمه تنازليا واختيارأول قيمة، ومن ثم ادخالها في الصف الجديد:

SELECT id INTO @maxid FROM notes ORDER BY id DESC LIMIT 1;
UPDATE notes SET originalid = @maxid where id = @maxid;

الطريقة الثانية، بنفس المبدأ لكن بطريقة مختلفة، أي باستعمال دالة MAX لاستخراج أكبر Id:

SELECT MAX(id) INTO @maxid FROM notes;
UPDATE notes SET originalid = @maxid where id = @maxid;

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...