SQLAlchemy INSERT IGNORE

2019-01-22 19:10发布

问题:

How can I insert multiple data records into table ignoring duplicates. I am using SQLAlchemy.

Thank you!

回答1:

prefix_with("TEXT") adds arbitrary text between INSERT and the rest of the SQL. execute() accepts a list of dictionaries with the records you would like to insert or a single dictionary if you only want to insert a single record.

The SQLite syntax for the behavior you're looking for:

inserter = table_object.insert().prefix_with("OR REPLACE")
inserter.execute([{'column1':'value1'}, {'column1':'value2'}])