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

SQLAlchemy:Как да изтрия с присъединяване

Ето как го направих:

map_ids = session.query(Table1.map_id). \
    filter(Table1.xxxx == 'xxx_value')

q = session.query(Table2). \
    filter(Table2.map_id.in_(map_ids.subquery()))

q.delete(synchronize_session=False)

Ключът тук е да създадете подзаявка, като намерите идентификатори, които трябва да бъдат изтрити. След това използвате оператор 'in_', за да изберете записи, които да бъдат изтрити. 'synchoronize_session=False' ще изпълни заявка без актуализиране на сесията. Това дава най-доброто повишаване на производителността.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите всички стойности в колона с помощта на PHP?

  2. Същите ли са левите външни съединения и левите съединения?

  3. Ruby on Rails - не може да зареди такъв файл -- mysql2/2.2/mysql2 (LoadError)

  4. Поддържа ли се скъпоценният камък dm_mysql_adapter на Datamapper на Windows?

  5. Съхранени функции в MySQL – имена на таблици и колони на динамични/променливи