sql >> データベース >  >> RDS >> PostgreSQL

SQLAlchemyを使用してPostgreSQL配列を更新します

    テーブルが次のように定義されている場合:

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

    または、必要に応じて、text()を使用して生のSQLを記述します。 構成:

    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. jsonタイプ列PostgreSQLにフィールドが存在するかどうかを確認します

    2. 1つのポッドには、Minikubeにバインドされていない即時のPersistentVolumeClaimがあります

    3. Mysqldump'は、内部または外部のコマンド操作可能なプログラムまたはバッチファイルとして認識されません

    4. MySQLレプリケーションとGTIDベースのフェイルオーバー-誤ったトランザクションの詳細