PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

CẬP NHẬT .. LIMIT 1 với SqlAlchemy và PostgreSQL

công thức truy vấn con là cách đúng đắn để làm điều đó, bây giờ chúng ta chỉ cần tạo truy vấn này với SqlAlchemy.

Hãy bắt đầu với truy vấn con:

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

Và bây giờ hãy sử dụng nó với as_scalar ( ) với ví dụ từ cập nhật () tài liệu :

from sqlalchemy import update

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

In truy vấn để xem kết quả:

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

Hãy tận hưởng!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nâng cấp PostgreSQL từ 9.6 lên 10.0 trên Ubuntu 16.10

  2. Ví dụ về câu lệnh INSERT đã chuẩn bị sử dụng viên ngọc ruby ​​pg

  3. Bảng điều khiển Rails - Tìm nơi được tạo vào =ngày nhất định

  4. Cách thay đổi ngôn ngữ khi định dạng số trong PostgreSQL

  5. PostgreSQL Lưu và chọn tệp bằng dữ liệu nhị phân Bytea với C libpq