diff --git a/database/database_table.py b/database/database_table.py
index 579619accf5668102290f534ffece6fec0480178..ed495b6c8ba6a17ee6bd069d637b24d0a93cd0c7 100644
--- a/database/database_table.py
+++ b/database/database_table.py
@@ -201,14 +201,11 @@ class DatabaseTable(Table):
             bind = self.metadata.bind
 
         pks = get_primary_keys(self)
-        primary_keys = []
-        for pk in pks:
-            primary_keys.append(ttable.columns.get(pk.name))
+        primary_keys = (ttable.columns.get(pk.name) for pk in pks)
 
-        for pk in primary_keys:
-            new_pk = PrimaryKeyConstraint(pk)
-            query = AddConstraint(new_pk)
-            bind.execute(query)
+        new_pk = PrimaryKeyConstraint(*primary_keys)
+        query = AddConstraint(new_pk)
+        bind.execute(query)
 
     def populate_temporary(self, ttable, in_file, header, year, delimiters=[';', '\\n', '"'],
                            null='', offset=2, bind=None):