Pembaruan Urutan Parameter
Kueri UPDATE dari SQL mentah memiliki klausa SET. Ini diberikan oleh konstruksi update () menggunakan urutan kolom yang diberikan dalam objek Table asal. Oleh karena itu, pernyataan UPDATE tertentu dengan kolom tertentu akan ditampilkan sama setiap saat. Karena parameternya sendiri diteruskan ke metode Update.values () sebagai kunci kamus Python, tidak ada pengurutan tetap lainnya yang tersedia.
Dalam beberapa kasus, urutan parameter yang dirender dalam klausa SET signifikan. Di MySQL, memberikan pembaruan ke nilai kolom didasarkan pada nilai kolom lainnya.
Berikut hasil pernyataan -
UPDATE table1 SET x = y + 10, y = 20
akan memiliki hasil yang berbeda dari -
UPDATE table1 SET y = 20, x = y + 10
Klausa SET di MySQL dievaluasi berdasarkan per-nilai dan bukan pada basis per-baris. Untuk tujuan ini, filepreserve_parameter_orderdigunakan. Daftar Python dari 2-tupel diberikan sebagai argumen keUpdate.values() metode -
stmt = table1.update(preserve_parameter_order = True).\
values([(table1.c.y, 20), (table1.c.x, table1.c.y + 10)])
Objek List mirip dengan kamus kecuali yang diurutkan. Ini memastikan bahwa klausa SET kolom "y" akan dirender terlebih dahulu, kemudian klausa SET kolom "x".