diff --git a/database/actions.py b/database/actions.py
index 522decbbd0a43ab5299ef8279f039909187d09d2..83ee1edf6265c825c8e4bb41026b7644e7497733 100644
--- a/database/actions.py
+++ b/database/actions.py
@@ -112,7 +112,7 @@ def update_from_file(file_name, table, year, columns=None,
         raise MissingTableError(table.name)
 
     if columns is None:
-        columns = []
+        columns = [c.name for c in table.columns]
 
     with ENGINE.connect() as connection:
         trans = connection.begin()
diff --git a/tests/database_test.py b/tests/database_test.py
index dbca956e9c0016517a9042df8474ab4697b17c50..561f2f92059b0538a9b665487db9c88d823379d5 100755
--- a/tests/database_test.py
+++ b/tests/database_test.py
@@ -62,6 +62,18 @@ def compare_columns(table, verify_csv, error_string):
                                              str(c.type), verify_columns_df[verify_columns_df['name'] == c.name]['type'])
             print(c.name, c.type)
 
+def compare_data(table, verify_csv, error_string):
+    print("Executing fetchall query:")
+    with ENGINE.connect() as connection:
+        sel = select([table]).order_by(table.c.id)
+        result = connection.execute(sel)
+        content = result.fetchall()
+        print('Initializing data verification:\n')
+        verify_table = pd.read_csv(verify_csv, sep='|')
+        verify_content = list(verify_table.itertuples(index=False, name=None))
+        if verify_content != content:
+            raise VerificationFailed('Something went wrong, please rerun in debug mode.' + error_string)
+
 def test_creation():
     if not ENGINE.dialect.has_table(ENGINE, 'test_reference'):
         database.actions.execute_sql_script('test_reference.sql')
@@ -84,22 +96,10 @@ def test_creation():
 def test_insert():
     print('Testing insert of data', csvpath)
     database.actions.insert(csvpath, table_test, '2018', delimiters=[',', '\\n', '"'], null='')
-    print("Executing fetchall query:")
-    with ENGINE.connect() as connection:
-        table = Table(table_test, META, autoload=True, autoload_with=ENGINE)
-        sel = select([table]).order_by(table.c.id)
-        result = connection.execute(sel)
-        content = result.fetchall()
-        if content:
-            print('Initializing data verification:\n')
-            verify_table = pd.read_csv('./tests/database_test_data/verify_data_insert.csv', sep='|')
-            verify_content = list(verify_table.itertuples(index=False, name=None))
-            if verify_content == content:
-                print('INSERTION SUCCESS!\n\n')
-            else:
-                raise VerificationFailed('Something went wrong, Verification failed during insert')
-        else:
-            raise VerificationFailed("Something went wrong. Please rerun in DEBUG mod. INSERTION FAILED")
+
+    table = Table(table_test, META, autoload=True, autoload_with=ENGINE)
+    compare_data(table, './tests/database_test_data/verify_data_insert.csv', 'INSERTION VERIFICATION FAILED')
+    print('INSERTION SUCCESS!\n\n')
 
 def test_remap_without_changes():
     print('Testing a remap without changes:')
@@ -130,6 +130,14 @@ def test_remap_with_all_changes():
         mapping_df_original.to_csv(protocol_path)
     print('REMAP WITH ALL POSSIBLE CHANGES CHANGES SUCCESS!\n\n')
 
+def test_update_from_file():
+    print('\nTesting an update from file:')
+    database.actions.update_from_file(csvpath, table_test, '2018', delimiters=[',', '\\n', '"'])
+
+    table = Table(table_test, META, autoload=True, autoload_with=ENGINE)
+    compare_data(table, './tests/database_test_data/verify_data_insert.csv', 'UPDATE FROM FILE VERIFICATION FAILED')
+    print('UPDATE FROM FILE SUCCESS!\n\n')
+
 def test_drop():
     print("Dropping table", table_test)
     database.actions.drop(table_test)
@@ -153,6 +161,7 @@ def test_all():
 @manager.command()
 def remap_all():
     test_remap_with_all_changes()
+    test_update_from_file()
     test_drop()