سعيد بو عبد الله نشر 17 سبتمبر 2015 أرسل تقرير نشر 17 سبتمبر 2015 لدي جدول على 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 فهل من حل للمشكل؟ اقتباس
0 E.Nourddine نشر 17 سبتمبر 2015 أرسل تقرير نشر 17 سبتمبر 2015 هناك طريقتين اثنتين:الأولى باستخراج أكبر قيمة لـ 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; اقتباس
السؤال
سعيد بو عبد الله
لدي جدول على Mysql وبه Primary Key، وأريد إضافة حقل بحث يكون مساوي لقيمPrimary Key، وبالفعل أضفت حقل سيمته بـ originalid ، ثم الأمر:
لكن حصل على الخطأ التالي:
فهل من حل للمشكل؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.