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

SQLAlchemy buộc in_ () sử dụng các chữ

Trong (tại thời điểm viết bài này sắp tới) phiên bản 1.4, bạn có thể sử dụng bindparam mở rộng với literal_execute=True chỉ vì hiệu ứng mà bạn đang theo đuổi:

In [2]: class Foo(Model):
   ...:     id = Column(Integer, primary_key=True)
   ...:     data = Column(Integer)

In [3]: metadata.create_all()

In [4]: session.query(Foo).\
   ...:     filter(Foo.data.in_(
   ...:         bindparam('xs', range(10), expanding=True, literal_execute=True))).\
   ...:     all()
2019-09-07 20:35:04,560 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2019-09-07 20:35:04,561 INFO sqlalchemy.engine.base.Engine SELECT foo.id AS foo_id, foo.data AS foo_data 
FROM foo 
WHERE foo.data IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
2019-09-07 20:35:04,561 INFO sqlalchemy.engine.base.Engine ()
Out[4]: []



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để kết nối MySQL với Java?

  2. Mã lỗi:1215. Không thể thêm ràng buộc khóa ngoại (khóa ngoại)

  3. cơ sở dữ liệu latin-1 đến utf-8

  4. Tập lệnh CREATE được xuất bởi MySQL Workbench có lỗi cú pháp trên máy tính khác

  5. Cùng một ứng dụng, các cơ sở dữ liệu khác nhau:Entity framework 6.X + MySQL + SQL Server