PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

АКТУАЛИЗАЦИЯ .. LIMIT 1 с SqlAlchemy и PostgreSQL

рецептата за подзаявка е правилният начин да го направим, сега трябва само да изградим тази заявка с SqlAlchemy.

Нека започнем с подзаявката:

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

И сега го използвайте с as_scalar( ) с примера от update() документи :

from sqlalchemy import update

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

Отпечатайте заявката, за да видите резултата:

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

Насладете се!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да разреша грешка в целостта на поле, което не съществува?

  2. Извличане на най-често срещаните ключови думи от tsvector колона

  3. Ефективност на базата данни:филтриране по колона срещу отделна таблица

  4. PostgreSQL:как да инсталирате разширение plpythonu

  5. Автоматизиране на одитите на сигурността за PostgreSQL