Index: /trunk/FACT++/src/fits2sql.cc
===================================================================
--- /trunk/FACT++/src/fits2sql.cc	(revision 19113)
+++ /trunk/FACT++/src/fits2sql.cc	(revision 19114)
@@ -63,5 +63,5 @@
         ("engine",         var<string>(""),           "Database engine to be used when a new table is created")
         ("row-format",     var<string>(""),           "Defines the ROW_FORMAT keyword for table creation")
-        ("duplicate",      var<string>(""),           "Specifies an assignment_list for an 'ON DUPLICATE KEY UPDATE' expression")
+        ("duplicate",      vars<string>(""),          "Specifies an assignment_list for an 'ON DUPLICATE KEY UPDATE' expression")
         ("ignore-errors",  po_switch(),               "Adds the IGNORE keyword to the INSERT query (turns errors into warnings, ignores rows with errors)")
         ;
@@ -148,5 +148,5 @@
         "Usually, the INSERT query would fail if the PRIMARY key exists already. "
         "This can be avoided using the 'ON DUPLICATE KEY' directive. With the "
-        "--duplicate,you can specify what should be updated in case of a duplicate key. "
+        "--duplicate, you can specify what should be updated in case of a duplicate key. "
         "To keep the row untouched, you can just update the primary key "
         "with the identical primary key, e.g. --duplicate='MyPrimary=VALUES(MyPrimary)'. "
@@ -296,5 +296,4 @@
     const string engine          = conf.Get<string>("engine");
     const string row_format      = conf.Get<string>("row-format");
-    const string duplicate       = conf.Get<string>("duplicate");
 
     const bool ignore_errors     = conf.Get<bool>("ignore-errors");
@@ -310,4 +309,5 @@
     const vector<string> primary = conf.Vec<string>("primary");
 
+    const vactor<string> duplicate = conf.Vec<string>("duplicate");
     const vector<string> notsigned = conf.Vec<string>("unsigned");
 
@@ -599,5 +599,5 @@
 
     if (!duplicate.empty())
-        query += "\nON DUPLICATE KEY UPDATE\n   " + duplicate;
+        query += "\nON DUPLICATE KEY UPDATE\n   " + boost::join(duplicate, ",\n   ");
 
     if (verbose>0)
Index: /trunk/FACT++/src/root2sql.cc
===================================================================
--- /trunk/FACT++/src/root2sql.cc	(revision 19113)
+++ /trunk/FACT++/src/root2sql.cc	(revision 19114)
@@ -66,5 +66,5 @@
         ("engine",         var<string>(""),           "Database engine to be used when a new table is created")
         ("row-format",     var<string>(""),           "Defines the ROW_FORMAT keyword for table creation")
-        ("duplicate",      var<string>(""),           "Specifies an assignment_list for an 'ON DUPLICATE KEY UPDATE' expression")
+        ("duplicate",      vars<string>(""),          "Specifies an assignment_list for an 'ON DUPLICATE KEY UPDATE' expression")
         ("ignore-errors",  po_switch(),               "Adds the IGNORE keyword to the INSERT query (turns errors into warnings, ignores rows with errors)")
         ;
@@ -310,5 +310,6 @@
     const string engine          = conf.Get<string>("engine");
     const string row_format      = conf.Get<string>("row-format");
-    const string duplicate       = conf.Get<string>("duplicate");
+
+    const vector<string> duplicate = conf.Vec<string>("duplicate");
 
     const bool ignore_errors     = conf.Get<bool>("ignore-errors");
@@ -586,5 +587,5 @@
 
     if (!duplicate.empty())
-        query += "\nON DUPLICATE KEY UPDATE\n   " + duplicate;
+        query += "\nON DUPLICATE KEY UPDATE\n   " + boost::join(duplicate, ",\n   ");
 
     if (verbose>0)
