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

Актуализирайте PostgreSQL масив с помощта на SQLAlchemy

Ако вашата таблица е дефинирана така:

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)
)

След това можете просто да актуализирате своя масив по следния начин (работи с 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()

Или, ако предпочитате, напишете необработен SQL, като използвате text() конструкция:

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. SQL избира среден резултат за диапазон от дати

  2. Транзакция във функция plpgsql

  3. Как да стартирам Postgres сървър?

  4. Postgres:филтриране на резултатите с помощта на ARRAY_AGG и HAVING (вместо WHERE)

  5. Променете колоните на PostgreSQL, използвани в изгледите