PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

AKTUALIZACJA .. LIMIT 1 za pomocą SqlAlchemy i PostgreSQL

przepis na podzapytanie to właściwy sposób, teraz musimy tylko zbudować to zapytanie za pomocą SqlAlchemy.

Zacznijmy od podzapytania:

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

A teraz użyj go z as_scalar( ) z przykładem z dokumentacja update() :

from sqlalchemy import update

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

Wydrukuj zapytanie, aby zobaczyć wynik:

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

Miłej zabawy!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migracja baz danych PostgreSQL ze środowiska lokalnego do chmury przy użyciu AWS RDS

  2. Czy istnieje PHP mysql_real_escape_string dla postgresql?

  3. Django + PostgreSQL:tworzenie bazy danych (jakie uprawnienia przyznać)

  4. Czy jest jakiś problem z instalacją psycopg2 w virtualenv na MacOS catalina z zainstalowanym PostgreSQL 12.1?

  5. Eksportuj skrypt CREATE do bazy danych