PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

UPDATE .. BATAS 1 dengan SqlAlchemy dan PostgreSQL

resep subkueri adalah cara yang tepat untuk melakukannya, sekarang kita hanya perlu membuat kueri ini dengan SqlAlchemy.

Mari kita mulai dengan subkueri:

sq = ssn.query(Log.id)  \
    .order_by(Log.id.desc())  \
    .limit(1)  \
    .with_for_update()

Dan sekarang gunakan dengan as_scalar( ) dengan contoh dari perbarui() dokumen :

from sqlalchemy import update

q = update(Log)  \
    .values({'analyzed': True})  \
    .where(Log.id == sq.as_scalar())

Cetak kueri untuk melihat hasilnya:

UPDATE logs 
SET analyzed=:analyzed 
WHERE logs.id = (
    SELECT logs.id 
    FROM logs ORDER BY logs.id DESC 
    LIMIT :param_1 
    FOR UPDATE
)

Selamat menikmati!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres CASE di ORDER BY menggunakan alias

  2. Cara membuat kamus tesaurus dengan benar untuk konfigurasi pencarian teks kustom saya

  3. Bergabunglah dengan 2 set berdasarkan pesanan default

  4. Hibernate 'Inverse' dalam file pemetaan

  5. Spring JDBC - Id yang terakhir dimasukkan