PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Perbarui array PostgreSQL menggunakan SQLAlchemy

Jika tabel Anda didefinisikan seperti ini:

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

Kemudian Anda cukup memperbarui array Anda dengan cara berikut (berfungsi dengan 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()

Atau, jika Anda mau, tulis SQL mentah menggunakan text() membangun:

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. PostgreSQL - kueri terhadap indeks GIN dari nilai HSTORE

  2. Bagaimana cara menghapus urutan yang tidak digunakan?

  3. Bagaimana menghubungkan postgresql di hibernate.cfg.xml

  4. PostgreSQL psycopg2 mengembalikan Tuple string alih-alih Tuple Tuple?

  5. Bisakah kita mendefinisikan fungsi GROUP_CONCAT di PostgreSQL?