كيفية الحصول على عدد الصفوف المتأثرة في sqlalchemy?

StackOverflow https://stackoverflow.com/questions/702342

  •  22-08-2019
  •  | 
  •  

سؤال

لدي سؤال واحد بخصوص الثعبان و sqlalchemy وحدة.ما يعادل cursor.rowcount في sqlalchemy الثعبان ؟

هل كانت مفيدة؟

المحلول

التحف ResultProxy لها rowcount الملكية أيضا.

نصائح أخرى

rowcount هو لا عدد الصفوف المتأثرة.لها عدد من الصفوف المتطابقة.ترى ما دكتور يقول

هذه السمة إرجاع عدد الصفوف يقابل, الذي هو ليس بالضرورة نفس عدد الصفوف التي كانت في الواقع تعديل - تحديث بيان ، على سبيل المثال ، قد يكون لا يوجد أي تغيير على صف معين إذا كان تعيين القيم المعطاة هي نفس تلك الموجودة في صف بالفعل.هذا الصف سوف يقابل ولكن غير معدلة.على الخلفيات التي تتميز كل الأساليب ، مثل الخلية ، rowcount يتم تكوين بشكل افتراضي العودة إلى المباراة الاعتماد في جميع الحالات

لذا لكل من الحالات التالية rowcount سوف التقرير 1.بسبب Rows matched: 1

  1. صف واحد مع تغير update البيان.

    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
  2. نفس update بيان يتم تنفيذها.

    Query OK, 0 row affected (0.00 sec)
    Rows matched: 1  Changed: 0  Warnings: 0
    

وماذا يقول Shiplu هو الصحيح بطبيعة الحال، ولكن، للإجابة على السؤال، في كثير من الحالات، يمكنك بسهولة جعل الأعمدة مطابقة تساوي الأعمدة التي تم تغييرها من قبل بما في ذلك شرط أن تكون القيمة مختلفة في جملة WHERE، أي:

UPDATE table
SET column_to_be_changed = "something different"
WHERE column_to_be_changed != "something different" AND [...your other conditions...]

وrowcount وثم إرجاع عدد الصفوف المتأثرة، لأنه يساوي عدد الصفوف المتطابقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top