كيفية الحصول على عدد الصفوف المتأثرة في sqlalchemy?
-
22-08-2019 - |
سؤال
لدي سؤال واحد بخصوص الثعبان و sqlalchemy وحدة.ما يعادل cursor.rowcount
في sqlalchemy الثعبان ؟
المحلول
التحف ResultProxy
لها rowcount
و> الملكية أيضا.
نصائح أخرى
rowcount
هو لا عدد الصفوف المتأثرة.لها عدد من الصفوف المتطابقة.ترى ما دكتور يقول
هذه السمة إرجاع عدد الصفوف يقابل, الذي هو ليس بالضرورة نفس عدد الصفوف التي كانت في الواقع تعديل - تحديث بيان ، على سبيل المثال ، قد يكون لا يوجد أي تغيير على صف معين إذا كان تعيين القيم المعطاة هي نفس تلك الموجودة في صف بالفعل.هذا الصف سوف يقابل ولكن غير معدلة.على الخلفيات التي تتميز كل الأساليب ، مثل الخلية ،
rowcount
يتم تكوين بشكل افتراضي العودة إلى المباراة الاعتماد في جميع الحالات
لذا لكل من الحالات التالية rowcount
سوف التقرير 1
.بسبب Rows matched: 1
صف واحد مع تغير
update
البيان.Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
نفس
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
وثم إرجاع عدد الصفوف المتأثرة، لأنه يساوي عدد الصفوف المتطابقة.