views:

302

answers:

2

Hi,

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

Thank you!

A: 

You could use a UniqueConstraint on all of your columns. http://www.sqlalchemy.org/docs/metadata.html#unique-constraint

pwdyson
+2  A: 

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'}])
joeforker