insert ignore
# insert ignore
insert_stmt = TimePoint.__table__.insert().prefix_with(" ignore").values(data) session.execute(insert_stmt)
# insert on duplicate update insert_stmt = mysql.insert(TaskInstance).values(**data) on_duplicate_key_stmt = insert_stmt.on_duplicate_key_update( {"start_dt": start_dt, "end_dt": end_dt}) session.execute(on_duplicate_key_stmt)
批量操作
# insert ignore bulk stmt = insert(t).prefix_with("IGNORE") # INSERT IGNORE INTO t (q) VALUES (:q) session.execute(stmt, [{ row }, { row}, {row} ...])
https://github.com/pallets/flask-sqlalchemy/issues/241
https://docs.sqlalchemy.org/en/14/changelog/migration_12.html#support-for-insert-on-duplicate-key-update
https://stackoverflow.com/questions/46654221/sqlalchemy-core-insert-ignore-and-on-duplicate-key-update
https://stackoverflow.com/questions/2218304/sqlalchemy-insert-ignore
https://stackoverflow.com/questions/39256258/how-do-i-tell-sqlalchemy-to-ignore-certain-say-null-columns-on-insert
https://github.com/sqlalchemy/sqlalchemy/issues/5374