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

SQLAlchemy:Cách xóa bằng phép nối

Đây là cách tôi đã làm điều đó:

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)

Chìa khóa ở đây là bạn tạo truy vấn con bằng cách tìm các id cần phải xóa. Sau đó, bạn sử dụng toán tử 'in_' để chọn các bản ghi sẽ bị xóa. 'synchoronize_session =False' sẽ thực thi truy vấn mà không cần cập nhật phiên. Điều này giúp tăng hiệu suất tốt nhất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bán kính 40 km sử dụng vĩ độ và kinh độ

  2. Kết nối với máy chủ MySQL từ xa bằng PHP

  3. Truyền MySQL của -1 trả về 18446744073709551615

  4. Đơn vị ngày &giờ trong MySQL (Danh sách đầy đủ)

  5. Sử dụng 'OR' giữa mệnh đề HAVING và WHERE trong MySQL?