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

Cập nhật mảng PostgreSQL bằng SQLAlchemy

Nếu bảng của bạn được xác định như thế này:

from datetime import datetime
from sqlalchemy import *
from sqlalchemy.dialects.postgresql import ARRAY

meta = MetaData()
surveys_table = Table('surveys', meta,
    Column('surveys_id', Integer, primary_key=True),
    Column('questions_ids_ordered', ARRAY(Integer)),
    Column('created_at', DateTime, nullable=False, default=datetime.utcnow)
)

Sau đó, bạn chỉ cần cập nhật mảng của mình theo cách sau (hoạt động với psycopg2):

engine = create_engine('postgresql://localhost')
conn = engine.connect()
u = surveys_table.update().where(surveys_table.c.id == 46).\
     values(questions_ids_ordered=[237, 238, 239, 240, 241, 242, 243])
conn.execute(u)
conn.close()

Hoặc, nếu bạn thích, hãy viết SQL thô bằng cách sử dụng text() cấu tạo:

from sqlalchemy.sql import text
with engine.connect() as conn:
    u = text('UPDATE surveys SET questions_ids_ordered = :q WHERE id = :id')
    conn.execute(u, q=[237, 238, 239, 240, 241, 242, 243], id=46)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ứng dụng Heroku push of django không có mô-đun nào có tên psycopg2.extensions

  2. django - tổng hợp các khóa cụ thể của trường json và thứ tự theo tổng hợp

  3. Các tuần giữa hai ngày

  4. PG gem sẽ không cài đặt trong ứng dụng Rails:Gem ::Ext ::BuildError:ERROR:Không tạo được phần mở rộng gốc của gem

  5. Truy vấn gốc toán tử JPA và JSON